0
使用fork()和execlp(),我試圖編譯一個cpp文件到一個.so。我正在運行一個複製的g ++ - 4.8可執行文件,它位於我的項目目錄樹中。當從終端上運行,一切順利,我結束了一個工作動態庫,但是當我做一個子進程,並使用execlp做同樣的事情,我得到一個錯誤:g ++在用execlp運行時出現錯誤,但不是從終端運行?
g++-4.8: error: @@@: No such file or directory
這是重複「文件名」中的幾個字符有6次變化了一些。爲了比較,這是我在寫終端:
$ g++/bin/g++-4.8 -fPIC -shared bob.cpp -o bob.so
...這是產生錯誤代碼:
if (fork() == 0) {
execlp("g++/bin/g++-4.8", "g++/bin/g++-4.8", "-fPIC", "-shared", "bob.cpp", "-o", "-bob.so");
}
bob.cpp是在父母的工作目錄進程,並從該目錄執行終端代碼。
好吧,那很容易。 – NmdMystery