在我的Homebrew安装中,我的库使用clang
进行编译,而出于性能原因,我希望用gcc
编译我的科学代码。为了更好地理解这个问题,我创建了一个最小的测试:
// FILE print.cxx
#include <string>
#include <iostream>
void print_message(const std::string& message)
{
std::cout << message << std::endl;
}
// FILE test.cxx
#include <string>
void print_message(const std::string&);
int main()
{
std::string message = "Hello World!";
print_message(message);
return 0;
}
我编译的代码:
// SCRIPT compile.sh
clang++ -stdlib=libstdc++ -c print.cxx
g++ test.cxx print.o
我添加的示例有效,但是是否可以使用不使用-stdlib=libstdc++
标记编译的库,而是使用libc++
?