Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/macos/9.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
Macos 转换makefile以生成静态libxxx.a而不是动态libxxx.dylib_Macos_Makefile_Compilation_Static Libraries_Dynamic Library - Fatal编程技术网

Macos 转换makefile以生成静态libxxx.a而不是动态libxxx.dylib

Macos 转换makefile以生成静态libxxx.a而不是动态libxxx.dylib,macos,makefile,compilation,static-libraries,dynamic-library,Macos,Makefile,Compilation,Static Libraries,Dynamic Library,我正在编译一个库(),但是在我的mac上发布“make”及其包含的makefile会生成一个动态库(.dylib)。我更希望有一个静态库,这样我就可以在我的应用程序中部署它。转换makefile中的标志以生成静态库是否容易/可能 “make”似乎只是编译和链接一些C/C++代码。我有个坏消息要告诉你。可能会阻止您执行所需操作。它看起来不像是在使用任何特定于动态库的编译标志来构建对象,因此您可以使用以下方式手动构建库: make && ar cru libAntTweakBar.a

我正在编译一个库(),但是在我的mac上发布“make”及其包含的makefile会生成一个动态库(.dylib)。我更希望有一个静态库,这样我就可以在我的应用程序中部署它。转换makefile中的标志以生成静态库是否容易/可能


“make”似乎只是编译和链接一些C/C++代码。

我有个坏消息要告诉你。可能会阻止您执行所需操作。

它看起来不像是在使用任何特定于动态库的编译标志来构建对象,因此您可以使用以下方式手动构建库:

make && ar cru libAntTweakBar.a && ranlib libAntTweakBar.a

仅仅因为@mangledorf无法构建完全静态的二进制文件并不意味着他无法构建静态库。这就是为什么我希望人们只使用automake和libtool。这或多或少是一个解决方案,尽管链接到我创建的静态库有点棘手。以下是我针对此特定库的最终解决方案: