我正在使用用Clang構建的對象文件。但無論我傳遞給ld.exe
的庫參數如何,它似乎總是回吐未解決的引用,例如memcpy
,標準庫,東西以及像_cxa_atexit這樣的實現東西。我需要使用MinGW與Clang構建的目標文件鏈接哪些庫?
我需要傳遞給MinGW鏈接器來將它鏈接到可執行文件中的庫文件(以什麼順序?)?
編輯:
我改變了三倍,從「爲i686-PC-MinGW的」到「的i686-PC-mingw32的」,它解決了大部分的problems-鏘的確實的「老把戲D3D9失敗默默地當輸入顯然是錯誤的,輸出無法正確輸入「。但是我剩下的只有兩個未解決的外部問題 - 和double
的std::_Hash_impl
,沒有任何變化。該計劃只是「你好,世界!」。奇怪的是,clang ++。exe和g ++。exe在編譯源代碼時都沒有問題,但是如果我使用Clang C++ API將它編譯爲.o,然後將它傳回MinGW,我會得到未解析的外部代碼。
你爲什麼不讓叮噹做鏈接的任何具體原因? (或者可能是g ++,不知道目標文件是否兼容。)在Windows上不可用? – Mat
因爲我需要使用Clang C++ API,所以我必須自己做。 – Puppy
(我不明白這是如何阻止你使用clang ++來鏈接,但我從來沒有這樣做過。)你有沒有嘗試用'clang ++ -v foo.cpp'構建一個虛擬的C++源代碼並使用/調整鏈接器調用顯示? – Mat