我正在使用CMake,並且我的程序使用g ++編譯得很好。不過,我也希望用bcc32和cl編譯它。CMake不對編譯器使用適當的輸出命令行參數
我遇到了一個問題 - 我告訴cmake通過執行命令行來使用這些編譯器,有點像「cmake -DCMAKE_CXX_COMPILER = cl」或其他東西,它會正確地讀取編譯器(即,情況下,MSVC變量設置爲true)。
但是,它似乎仍然使用gnu命令行參數,這會導致編譯器在CXX編譯器測試中失敗(即,它會嘗試使用-o指定並輸出文件,而不是/ Fe,而不是-e爲bcc32)。
是否有一些正確的方法來指定使用哪個編譯器,或以某種方式解決這個問題?
這混淆我咯。從手冊頁看來,-G指定了makefile生成器 - 我使用GNU make來自動編譯,而不是MSVC項目或東西。所以我想讓cmake生成的是我可以用gmake運行的東西,但是可以使用cl或bcc32作爲編譯器。 還是我誤解了這個? cmake --help沒有提及可用的visual studio生成器的任何信息。 – Kozaki 2010-02-12 19:50:53
AFAIK將'cl'定義爲編譯器的唯一方法是創建VS項目 - 這就是「Visual Studio」生成器將爲您執行的操作。使用正常的GNU makefile,你只能使用GCC,MinGW等,但不能使用cl。 – AndiDog 2010-02-12 19:55:43