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_Static Libraries_Object Files - Fatal编程技术网

如何使用CMake直接从对象文件构建库

如何使用CMake直接从对象文件构建库,cmake,static-libraries,object-files,Cmake,Static Libraries,Object Files,给定一组对象文件,如何使用CMake构建静态库 用自动工具我就可以了 libXXX.a: $(OBJFILES) $(AR) cru $@ $(OBJFILES) $(RANLIB) $@ OBJFILES是对象文件的列表 在CMake中如何做到这一点 编辑:我无法重新编译原始的cxx文件,我必须使用对象文件(*.o)来创建库。使用CMakeLists.txt中的add_library: add_library(XXX STATIC foo.c bar.cc baz.cxx)

给定一组对象文件,如何使用CMake构建静态库

用自动工具我就可以了

libXXX.a: $(OBJFILES)
    $(AR) cru $@ $(OBJFILES)
    $(RANLIB) $@
OBJFILES是对象文件的列表

在CMake中如何做到这一点


编辑:我无法重新编译原始的cxx文件,我必须使用对象文件(*.o)来创建库。

使用
CMakeLists.txt中的
add_library

add_library(XXX STATIC foo.c bar.cc baz.cxx)

CMakeLists.txt
中使用
add_库

add_library(XXX STATIC foo.c bar.cc baz.cxx)
添加一个类似于:

add_custom_command(OUTPUT libXXX.a COMMAND ${AR} cru ${OBJFILES} ).
如有必要,您可以使用和将libXXX.a添加到特定目标,或者自定义依赖项。

添加a,类似于:

add_custom_command(OUTPUT libXXX.a COMMAND ${AR} cru ${OBJFILES} ).

如有必要,您可以使用和将libXXX.a添加到特定目标,或者自定义依赖项。

谢谢您的回答。但是,这里的要点是,我有对象文件,无法重新编译cxx文件。因此,我只想使用现有的对象文件创建一个库。谢谢您的回答。但是,这里的要点是,我有对象文件,无法重新编译cxx文件。因此,我只想使用现有的对象文件来创建一个库。