簡體   English   中英

在沒有Xcode IDE的情況下開發C ++

[英]develop C++ without Xcode IDE

我想在mac os上開發C ++程序,我已經安裝了Xcode和一堆框架。

但是我想編寫沒有Xcode IDE的代碼,只需編寫我自己的makefile並直接編譯/鏈接gcc(隨Xcode一起提供)。

以opengl程序為例。 我試着用命令編譯它:

gcc -I / usr / include / -I / Developer / SDKs / MacOSX10.6.sdk / System / Library / Frameworks / GLUT.framework / Headers / -I / Developer / SDKs / MacOSX10.6.sdk / System / Library / Frameworks / OpenGL.framework / Headers -L / usr / lib -L ​​/ usr / X11 / lib / -L / Developer / SDKs / MacOSX10.6.sdk / System / Library / Frameworks / OpenGL.framework / Libraries / -lGL - lGLU -lGLUTt main.cpp

要么

gcc -I / usr / include / -L / usr / lib -framework OpenGL -framework GLUT -lm main.cpp

但他們最終導致鏈接錯誤

未定義的符號:
“的std :: basic_ostream

:: operator <<(long)“,引用自:ccKBRSF9.o中的reshape(int,int)。在ccKBRSF9.o”___gxx_personality_v0“中的display(),引用自:___ gxx_personality_v0 $ cc_BRKFF中的non_lazy_ptr(也許你的意思是:___ gxx_personality_v0 $ non_lazy_ptr)“std :: ios_base :: Init :: ~Init()”,引自:ccKBRSF9.o中的___tcf_0“std :: basic_string,std :: allocator :: operator [](unsigned long)const”,引用from:std :: __ verify_grouping(char const *,unsigned long,std :: basic_string,std :: allocator> const&)在ccKBRSF9.o std :: __ verify_grouping(char const *,unsigned long,std :: basic_string,std ::在ccKBRSF9.o中的分配器> const&)std :: __ verify_grouping(char const *,unsigned long,std :: basic_string,std :: allocator> const&)ccKBRSF9.o“std :: basic_ostream>&std :: operator <<( std :: basic_ostream>&,char const *)“,引用自:ccKBRSF9.o鍵盤中的鍵盤(unsigned char,int,int)ccKBRSF9.o鍵盤中的unsigned char,int,int)(unsigned char,int,int )在ccKBRSF9.o reshape(int,int)ccKBRSF9.o display()i中 n ccKBRSF9.o“std :: ios_base :: Init :: Init()”,引自ccKBRSF9.o中的__static_initialization_and_destruction_0(int,int)
“std :: basic_string,std :: allocator> :: size()const”,在c​​cKBRSF9.o中引用:std :: __ verify_grouping(char const *,unsigned long,std :: basic_string,std :: allocator> const&) “std :: cout”,引用自:ccKBRSF9.o中的__ZSt4cout $ non_lazy_ptr(也許你的意思是:__ ZSt4cout $ non_lazy_ptr)ld:未找到符號collect2:ld返回1退出狀態

我錯過了什么?

使用g++編譯C ++。 它是GCC的C ++前端。 例如:

g++ -I/usr/include/ -L/usr/lib -framework OpenGL -framework GLUT -lm main.cpp

您也可以使用clang++ ,但在這兩種情況下,您都必須使用C++編譯器或-lstdc++選項。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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