我正在转换一个构建一些库并编译一些 Fortran 和 C 程序的 c-shell 脚本;它大多运作良好(尽管我确信我还没有完全遵循正确的约定!)。但是,我有一个库可以在 shell 脚本中正常编译,但不能在 CMake 下编译:
f95 -w -ffixed-line-length-132 -c mylib.for
ar cr myarchive.a mylib.o
生成.a
文件。在我的 CMakeLists.txt 我有:
add_library(myarchive STATIC ${libsrc}/mylib.for)
我收到 2 个错误:
Error: Unexpected end of format string in format string at (1)
Error: Unexpected end of format string in format string at (1)
我可以通过不包含标志在命令行上复制它-ffixed-line-length-132
,但我找不到如何将它包含在 CMake 中。文档有一个set(MAKE_LIBRARY_LINKER_FLAGS <STRING>)
命令,我已经尝试过(并编辑为MAKE_ARCHIVE_LINKER_FLAGS
),还有一个set_target_properties
- 但似乎没有明确的列表来说明该命令的第三个参数可以是什么。应该有一个名为的属性STATIC_LIBRARY_FLAGS
,但这似乎也不起作用