【发布时间】:2013-06-27 06:41:55
【问题描述】:
我有一个我想使用的 c 函数,但它是使用 Intel 编译器而不是 gnu C 编译器编译的。我正在使用cmake 来构建程序。
(我实际上使用的是ROS,因此是rosmake,但基础是cmake,所以我认为它更多的是cmake问题而不是ROS问题)。
假设使用icc 构建的文件是x.c 并生成一个x.s 文件。我想在我的文件y.cpp 中使用来自x.c 的函数a()。
在y.cpp 我有:
#include "x.h"
.....
call a()
如果CMakeLists.txt 有
rosbuild_add_executable(y y.cpp x.c)
rosbuild_add_executable is analogous to add_executable(...)
但如果我用icc 构建x.c 并尝试包含x.s 文件:
rosbuild_add_executable(y y.cpp x.s)
它不起作用。我应该对在y.cpp 中调用a() 的方式进行一些更改吗?还是有其他方法可以链接它。
【问题讨论】: