1

我从上周开始从 github ( https://github.com/libffi/libffi/issues/538 )重新发布一个问题。

我目前在使用 Ant 构建脚本(仅供参考:https ://github.com/thepaul/libjna-java )将一些 JNA 库构建为可部署的 jar 时遇到问题。为了将此库中的 API 用于我的其他项目。(我经历麻烦构建的唯一目的是能够使用它的 API。由于缺乏文档和没有提供现有的构建工件,我不得不自己做。将整个 libjna 存储库作为项目导入我的另一个项目可能是另一种方法,但我认为它不合适。也就是说,如果有更好的方法来使用 libjna 中的库,请告诉我!)

所以这就是我试图将它构建到可部署的 jar 文件中的方法:

我已经下载了源项目。

尝试在 cygwin 上使用 Ant(我下载了最新版本)进行编译。失败,因为它需要 libffi。所以我从这里( https://github.com/libffi/libffi)下载了 libffi 源代码。

尝试使用 Ant 再次编译。失败,因为它找不到 config.log 中提到的“/c/Program Files (x86)/Microsoft Visual Studio 9.0/vc/bin/cl” 所以我检查了 cc.sh 并发现它指的是旧版本微软 Visual Studio。我有一个现有的 Visual Studio Express 安装。所以我在 cc.sh 文件中将路径更改为“C:\Program Files (x86)\Microsoft Visual Studio\2017\WDExpress\VC\Tools\MSVC\14.16.27023\bin\Hostx86\x64”。

尝试使用 Ant 再次编译。似乎修复工作但由于找不到“mspdbcore.dll”而失败并出现不同的错误。我在 "..\x86" 中找到了这个文件,所以我将文件复制到 ..\x64

尝试使用 Ant 再次编译。因找不到“mspdb140.dll”而失败,出现类似错误但文件不同。我在“..\x86”中找到了这个文件,所以我复制了

再次尝试编译。因不同的错误而失败,因为现在它说

"LINK : fatal error LNK1104: cannot open file 'LIBCMT.lib'"

,虽然我可以确认这个文件肯定在“C:\Program Files (x86)\Microsoft Visual Studio\2017\WDExpress\VC\Tools\MSVC\14.16.27023\lib\x64”

为了解决这个错误,我尝试(徒劳):

  1. 将 Microsoft Visual Studio 路径添加到 PATH
    • C:\Program Files (x86)\Microsoft Visual Studio\2017\WDExpress\VC\Tools\MSVC\14.16.27023\bin\Hostx86\x64
    • C:\Program Files (x86)\Microsoft Visual Studio\2017\WDExpress\VC\Tools\MSVC\14.16.27023\lib\x64
    • C:\Program Files (x86)\Microsoft Visual Studio\2017\WDExpress\Common7\IDE
  2. 下载了社区版和专业版的 MS Visual Studio 2019(由于某种原因找不到这些 dll)
  3. 分别下载了mspdb140.dll和mspdbcore.dll,config.log说找不到这些文件

请注意,我也在网上做了一些研究,但是:

  1. 我不使用 Visual Studio IDE,因为我只是想用 Ant 构建它,所以这篇文章并没有太大帮助(链接:致命错误 LNK 1104:无法打开文件 'LIBCMT.lib'
  2. 我也不太明白这篇文章的答案(https://social.msdn.microsoft.com/Forums/en-US/cbedc1ba-c50b-499e-aa2e-12b0ce6a40ba/lnk1104-cannot-open-file-libcmtlib ?forum=vclanguage )

所以这就是我卡住的地方。

请参阅附加的最新配置日志。 配置日志

还附加了 Ant 构建日志。 ant_compile_error.txt

任何人都可以提供帮助将不胜感激!

干杯戴尔

4

0 回答 0