我对cmake完全陌生。在 svn 更新后(还有 binutils,我怀疑这是导致问题的原因),我收到一个错误(我之前成功编译并使用过该程序)
Linking CXX executable gmsh
/usr/bin/ld: /usr/local/lib/liblapack.a(dgesvd.o): undefined reference to symbol '_gfortran_concat_string@@GFORTRAN_1.0'
/usr/bin/ld: note: '_gfortran_concat_string@@GFORTRAN_1.0' is defined in DSO /usr/lib/libgfortran.so.3 so try adding it to the linker command line
/usr/lib/libgfortran.so.3: could not read symbols: Invalid operation
collect2: error: ld returned 1 exit status
make[2]: *** [gmsh] Error 1
make[1]: *** [CMakeFiles/gmsh.dir/all] Error 2
make: *** [all] Error 2
也许它与这个Fedoraproject DSO Change有关?
我有一个最新的 archlinux (binutils-2.23-1)。
我试图编辑ccmake .
菜单中的行。点击 [c] 后,原始选项被恢复(因此我无法添加/usr/lib/libgfortran.so.3
到GMSH_EXTERNAL_LIBRARIES
变量中以订购 [g] generate
新的 Makefile)。
我还尝试添加一些在cmake irc chat中推荐的选项,但最终没有奏效。
cmake . -DCMAKE_LINK_FLAGS=-Wl,--add-needed
或者
cmake . -DCMAKE_LINK_FLAGS=-lgfortran
导致同样的错误。我能做些什么?
附加信息:make VERBOSE=1
pastebin 链接