我已經使用XCode編寫了我的程序。它在Mac上沒有任何問題。我被告知我們的項目將在Linux機器上編譯,所以我想在提交之前確保它在Linux上正常工作。當我試圖編譯在Linux上,這給了我一些參考錯誤:從OS X移動到Linux時出錯Red-Hat
/tmp/cckwoehj.o: In function `main':
main.cpp:(.text+0x9): undefined reference to `ReadFile()'
/tmp/cckwoehj.o: In function `leftSearch(NODE*, int)':
main.cpp:(.text+0x38b): undefined reference to `conflict(int**)'
main.cpp:(.text+0x3ca): undefined reference to `removeAllRowsWithLiteral(int**, int)'
main.cpp:(.text+0x3ec): undefined reference to `removeAllSpecifiedLiteral(int**, int)'
main.cpp:(.text+0x4ec): undefined reference to `conflict(int**)'
main.cpp:(.text+0x522): undefined reference to `unitPropagation(int**)'
main.cpp:(.text+0x538): undefined reference to `conflict(int**)'
/tmp/cckwoehj.o: In function `rightSearch(NODE*, int)':
main.cpp:(.text+0x992): undefined reference to `conflict(int**)'
main.cpp:(.text+0x9d4): undefined reference to `removeAllRowsWithLiteral(int**, int)'
main.cpp:(.text+0x9f3): undefined reference to `removeAllSpecifiedLiteral(int**, int)'
main.cpp:(.text+0xaf3): undefined reference to `conflict(int**)'
main.cpp:(.text+0xb29): undefined reference to `unitPropagation(int**)'
main.cpp:(.text+0xb3f): undefined reference to `conflict(int**)'
collect2: ld returned 1 exit status
我在網上找到有關模板的所有談判的東西。我不使用模板。我還發現一個關於我沒有的32位和64位操作系統問題。
我有一個叫ReadFile函數是在頭部聲明。我從main調用它並在main中包含該頭文件。我不確定問題是什麼。如果OS X編譯並運行,而Linux不支持,我假設OS X內部有一些它認爲很明顯的東西,但Linux不是這樣寫的。這是一個鏈接器錯誤?我認爲OS X將被編程爲在內部執行此操作。
你是如何構建Linux的代碼的? – juanchopanza
發佈你的Makefile –