【问题标题】:How can I get scons to use Clang with libc++?如何让 scons 将 Clang 与 libc++ 一起使用?
【发布时间】:2014-08-19 14:51:09
【问题描述】:

如何让 scons 将 Clang 与 libc++ 一起使用?将“-stdlib=libc++”放在我传递给环境的任何标志中都会导致未定义的引用错误,如下所示:

hello.o: In function `main':
hello.cpp:(.text+0xc): undefined reference to `std::__1::cout'
hello.o: In function `std::__1::basic_ostream<char, std::__1::char_traits<char> >& std::__1::endl<char, std::__1::char_traits<char> >(std::__1::basic_ostream<char, std::__1::char_traits<char> >&)':

【问题讨论】:

    标签: c++ clang scons clang++ libc++


    【解决方案1】:

    选择 libc++ 的选项需要同时在编译器和链接器标志中:

    env = Environment(CXX = 'clang++',
                      CXXFLAGS = '-std=c++11 -stdlib=libc++',
                      LINKFLAGS = '-stdlib=libc++')
    
    env.Program('hello.cpp')
    

    【讨论】:

    • 对我不起作用,scons 仍在尝试使用 Visual Studio 命令进行链接步骤,此外,scons 正在 CCFLAGS 中注入 '/nologo'
    猜你喜欢
    • 2017-07-28
    • 1970-01-01
    • 2012-03-07
    • 2014-04-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-03-01
    • 1970-01-01
    相关资源
    最近更新 更多