Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/cmake/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
CMake:将静态库添加到共享库_Cmake - Fatal编程技术网

CMake:将静态库添加到共享库

CMake:将静态库添加到共享库,cmake,Cmake,我想用cmake创建共享库,但我还需要将其链接到第三方静态库 例如,如果它应该包含我自己的file1.o、file2.o,然后静态链接libfoo.la,然后作为动态链接到libbar.so的.so文件写入磁盘 甚至可以吗?可以将静态库链接到共享库。在大多数unix上,您将需要 在构建静态库时,添加-fPIC标志或其等价物以生成位置无关的代码。在Windows上,没有PIC,即将静态链接到共享只是开箱即用。首先,您可以直接使用对象文件,但如果您有file1.o和file1.o的源文件,则可以直接

我想用cmake创建共享库,但我还需要将其链接到第三方静态库

例如,如果它应该包含我自己的file1.o、file2.o,然后静态链接libfoo.la,然后作为动态链接到libbar.so的.so文件写入磁盘


甚至可以吗?

可以将静态库链接到共享库。在大多数unix上,您将需要
在构建静态库时,添加-fPIC标志或其等价物以生成位置无关的代码。在Windows上,没有PIC,即将静态链接到共享只是开箱即用。

首先,您可以直接使用对象文件,但如果您有file1.o和file1.o的源文件,则可以直接使用它们,这样可以确定使用哪种语言(C/C++/fortran/…)一些问题:1。是libbar.so,您要创建的共享库?2.libfoo.la是第三方静态库吗?3.你有file1.o和file2.o的来源吗?