从两个子目录中的代码创建一个.so文件

时间:2013-11-10 21:52:00

标签: c++ makefile cmake shared-libraries

我需要在Linux Ubuntu 13.10上创建一个.so文件,所以我可以用Python包装(但我对cmake来说还是新手)。

我的目录是wrap /

map.h
map.cpp

/noise 
  /include
  /src

/noiseutils
  noiseutils.h
  noiseutils.cpp

noise是包含includesrc目录的目录,noiseutils内有noiseutils.hnoiseutils.cpp个文件。

任何人都可以帮我用cmake创建一个.so文件 - 我是C ++的新手吗?

1 个答案:

答案 0 :(得分:0)

您需要在CMakeLists.txt配置文件中使用add_library命令。这是当前的命令参考:http://www.cmake.org/cmake/help/v2.8.12/cmake.html#command:add_library

注意库名称之后的第二个选项可以是“共享”,在Linux上提供.so文件。

您的来源的目录布局并不重要;您只需要提供CMakeLists.txt中.cpp文件的相对路径(例如,noise / src / noise.cpp)。并且还要确保使用include_directories命令包含包含.h文件的任何目录。