C++ MAC OS X 10.9(及更高版本)中链接器的ACE失败
我正在使用CLANG++在MAC OS X 10.9中编译并运行以下简单代码:C++ MAC OS X 10.9(及更高版本)中链接器的ACE失败,c++,macos,linker,clang++,ace,C++,Macos,Linker,Clang++,Ace,我正在使用CLANG++在MAC OS X 10.9中编译并运行以下简单代码: #include "ACE_wrappers/ace/MEM_Stream.h" #include <iostream> int main() { std::cout << "Hello World" << std::endl; ACE_MEM_Stream m(3); m.close_reader(); retur
#include "ACE_wrappers/ace/MEM_Stream.h"
#include <iostream>
int main()
{
std::cout << "Hello World" << std::endl;
ACE_MEM_Stream m(3);
m.close_reader();
return 0;
}
编译行:
clang++ myTest.cpp
我正在使用的CLANG编译器版本:
QAs-MacBook:aceTestLinking Moamen$ clang++ --version
Apple LLVM version 6.0 (clang-600.0.54) (based on LLVM 3.5svn)
Target: x86_64-apple-darwin13.4.0
Thread model: posix
注意-我还尝试使用“-std=c++11”、“-stdlib=libstdc++”进行编译,如下主题所示:
但没有解决问题
谢谢
Moamen感谢您的回复,在对Linux Ubuntu进行了一些调查之后,我使用以下命令g++-o m.out myTest.cpp ACE_wrappers/lib/libACE.a-I ACE_wrappers/-lpthread-ldl成功地编译了代码。似乎缺少一些默认LIB 很明显,您没有链接到ACE库。请注意,以前在旧的OS X(10.8及以下版本)中使用过相同的代码,但在CLANG编译器更新之后,它就不起作用了(在我使用g++之前,不是CLANG++)。我已尝试运行clang++myTest.cpp-I ACE_wrappers/lib,但仍然得到相同的错误
-l
和-l
是不同的编译器选项,我相信您必须使用正确的值指定它们。
QAs-MacBook:aceTestLinking Moamen$ clang++ --version
Apple LLVM version 6.0 (clang-600.0.54) (based on LLVM 3.5svn)
Target: x86_64-apple-darwin13.4.0
Thread model: posix