使用gcc编译和使用clang编译代码时未定义的引用

时间:2017-03-19 12:12:12

标签: c++ gcc clang++

我有两个项目

  1. 第一个项目是用clang编译的
  2. 第二个项目使用gcc编译并使用第一个项目中的代码
  3. 第二个项目因类型特征的函数未定义的引用错误而失败:

    CMakeFiles/RobotAPICore.dir/remoterobot/RobotStateObserver.cpp.o: In function      
    `RobotStateObserver::udpatePoseDatafields(std::map<std::string, IceInternal::Handle<FramedPoseBase>, std::less<std::string>, std::allocator<std::pair<std::string const, 
    IceInternal::Handle<FramedPoseBase> > > > const&)':
    /home/user/RobotAPI/source/RobotAPI/libraries/core/remoterobot/RobotStateObserver.cpp:149: 
    undefined reference to `Variant::Variant<float>(float const&, boost::disable_if_c<boost::is_base_of<VariantDataClass, float>::value||boost::is_pointer<float>::value, void>::type*)'
    

    如果我使用相同的编译器编译两个项目,一切正常。

    有什么想法吗?

    谢谢!

1 个答案:

答案 0 :(得分:1)

是的,你不能这样做。

不要混合工具链。

相关问题