我有一个 Java 程序,它利用一些本机函数调用来加速视频编码。它需要一个 DLL,我将用 C 语言编写它(我现在只有一个测试版本)。
当我用它编译 DLL 时cl /I "java-path/include" /"java-path/include/win32" -DL -ML Main.c -FeTest.dll,它会编译,但我得到一个 32 位 DLL。在我在互联网上做了一些研究后,我发现我需要一个 64 位 DLL。
经过更多研究,我发现这篇文章是唯一针对 C 的文章(甚至 C++ 都很难找到),但这仅在您通过 Visual Studio 2010 编写/构建时才有效。我使用 Elipse 用于 Java,使用 CLion 用于C,并通过“开发人员命令提示符”进行编译。所以这对我不起作用。我如何重新编译为 64 位 DLL?
编辑:我正在使用cl.exeVisual Studio 2017 附带的
cl.exe更新:我在 下找到了 64 位C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Tools\MSVC\14.13.26128\bin\Hostx64\x64\cl.exe,但是在运行它时,出现错误,指出库机器类型 (x86) 与目标类型 (x64) 冲突。如何更改图书馆机器类型?