簡體   English   中英

如何在Linux上使用Code :: Blocks與mingw交叉編譯?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM