[英]How to cross compile with mingw on linux using Code::Blocks?
所以我在Linux上使用i586-mingw32msvc
編譯器為Windows編譯。 像此站點中一樣,配置了Code :: Blocks。 一切都很好,直到我嘗試編譯C ++ 11代碼並且編譯器說: cc1plus: error: unrecognized command line option "-std=c++0x"
,然后我意識到mingw32編譯器對於C +來說太老了+11碼。
所以我安裝了mingw-w64
並在菜單Settings-> Compiler-> Toolchain中的Code :: Blocks中將i586-mingw32msvc
更改為i686-w64-mingw32
。 搜索目錄也已更改。
現在,當我嘗試編譯C ++ 11代碼時,我得到了這個(生成日志):
i686-w64-mingw32-g++ -Wall -fexceptions -std=c++0x -DWINVER=0x0400 -D__WIN95__ -D__GNUWIN32__ -DSTRICT -DHAVE_W32API_H -D__WXMSW__ -D__WINDOWS__ -I/usr/i686-w64-mingw32/include -c /home/me/program/p1/main.cpp -o obj/Release/win/main.o
i686-w64-mingw32-g++ -L/usr/i686-w64-mingw32/lib -o bin/Release/win/p1 obj/Release/win/main.o -lstdc++ -lgcc -lodbc32 -lwsock32 -lwinspool -lwinmm -lshell32 -lcomctl32 -lctl3d32 -lodbc32 -ladvapi32 -lodbc32 -lwsock32 -lopengl32 -lglu32 -lole32 -loleaut32 -luuid
Output size is 107,04 KB
Process terminated with status 0 (0 minutes, 0 seconds)
0 errors, 0 warnings (0 minutes, 0 seconds)
Build Messages僅在下面顯示一行:
||=== Build finished: 0 errors, 0 warnings (0 minutes, 0 seconds) ===|
就像什么都沒有被編譯。 有人知道發生了什么嗎?
Output size is 107,04 KB
因此,您得到了大小為107kB的可執行文件。 沒事嗎
||=== Build finished: 0 errors, 0 warnings
在您的位置,我會很高興...您想要編譯錯誤作為編譯器運行的證明嗎?
我解決了這個問題,所以我會做自我回答,也許對其他人會有所幫助,所以我只需要添加以下鏈接器選項: -static-libgcc -static-libstdc++ -L
,僅此-static-libgcc -static-libstdc++ -L
。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.