基本上,我想运行.cpp并链接几个.a文件和gcc,fortran。该命令为
g ++ -L / Users / myhome / Ipopt-3.10.0 / build / lib -lipopt -L / Users / myhome / lcoinmumps -lpthread -framework vecLib -L / Developer / usr / llvm-gcc-4.2 /lib/gcc/i686-apple-darwin11/4.2.1 -L / usr / local / gfortran / lib -lgfortran -lgcc_static -lcc_kext -lgcc -lSystem -framework vecLib -framework vecLib -lm -ldl -o cpp_example cpp_example.cpp
错误显示为
ld:警告:ld:警告:忽略文件/ 开发人员/ usr / llvm-gcc-4.2 / lib / gcc / i686-apple-darwin11 / 4.2.1 / libgcc_static.a ,< strong>文件是为归档而构建的,而不是被链接的体系结构(x86_64):/Developer/usr/llvm-gcc-4.2/lib/gcc/i686-apple-darwin11/4.2.1/libgcc_static.a忽略文件/Developer/usr/llvm-gcc-4.2/lib/gcc/i686-apple-darwin11/4.2.1/libgcc.a,文件是为归档而构建的,而不是被链接的体系结构(x86_64):/ Developer / USR / LLVM-GCC-4.2 / LIB / GCC / i686的-苹果darwin11 / 4.2.1 / libgcc.a的
架构x86_64的未定义符号: “MyNLP :: MyNLP()”,引自: _main in ccY99KRH.o ld:找不到架构x86_64的符号 collect2:ld返回1退出状态
正如粗体文本所示,错误似乎是我在32位内核或CPU上运行。但是我使用的是x86_64:我根据here更改了boost.plist,并且'about mac'清楚地证明我现在使用的硬件和软件都是64位。
Here似乎已经解释过mac架构(?)无法识别64位。
但是当我将文件(.a .cpp .h)添加到Xcode并一起运行项目时,它可以正常工作。
任何人都知道为什么命令行不起作用?为什么我的libgcc(i686-apple-darwin11-llvm-gcc-4.2)无法被识别为64位版本?最重要的是,如何让命令工作?
顺便说一句,我的系统是狮子10.7.4