如何解决错误:java:符号查找错误

如何解决错误:java:符号查找错误,java,symbols,lookup,undefined-symbol,Java,Symbols,Lookup,Undefined Symbol,我试图在x86_64 GNU/Linux中运行一个名为SATFC的FCC开发的软件。软件调用名为satenstein的sat解算器,当调用该解算器时,我会收到以下错误消息: java:符号查找错误:/tmp/libjnasatenstein_157584333517075266088.so:未定义的符号:AddToList1 **请注意,我已经在我的系统中设置了satenstein,如软件手册所示 谢谢你的帮助 ***编辑 我运行:nm-D libjnasatenstein_1575843335

我试图在x86_64 GNU/Linux中运行一个名为SATFC的FCC开发的软件。软件调用名为satenstein的sat解算器,当调用该解算器时,我会收到以下错误消息:

java:符号查找错误:/tmp/libjnasatenstein_157584333517075266088.so:未定义的符号:AddToList1

**请注意,我已经在我的系统中设置了satenstein,如软件手册所示

谢谢你的帮助

***编辑

我运行:nm-D libjnasatenstein_157584333517075266088.so 检查库并显示有关符号的以下内容:


------------U AddToList1

最可能与LD_LIBRARY_PATH env变量未设置为包括satenstein libs有关,将其附加到LD_LIBRARY_路径

export LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:<path_to_satenstein_lib>
export-LD\u-LIBRARY\u-PATH=${LD\u-LIBRARY\u-PATH}:

这可能太晚了,但我使用的是同一个SATFC库,面临着同样的问题。经过大量的挖掘,我终于解决了这个问题。我认为SATenstein构建代码存在问题,我必须对其进行调整以使其正常工作。导航到SATenstein源目录(如果您在SATFC项目中使用源代码,它应该位于
SATFC/src/dist/SATenstein/ubcsat_stein
)。在内部,编辑CMakeLists.txt文件:将标志
-std=gnu89
添加到CMAKE_C_标志。重新编译SATenstein项目。它应该能用。

即使我感觉你是对的,我也无法修复它。只是为了确保当我在错误中使用/tmp时,我是对的吗?