Netbeans 构建JshortCutJNIDLL

Netbeans 构建JshortCutJNIDLL,netbeans,compilation,jshortcut,Netbeans,Compilation,Jshortcut,我正在尝试基于Github中的源代码为x64构建JShortcut dll: 我克隆了存储库,按照Make说明进行操作。但我在以下行动中遇到困难: 您可以在上构建除DLL之外的所有内容 任何带有Java和GNU的机器您可以构建DLL 在Windows计算机上分别运行compile.bat脚本 src/jni目录。在中完成“全部制作”后立即执行此操作 顺序如下 此文件是: cl "-IC:/Program Files/Java/jdk1.8.0_162/include" "-IC:/Progra

我正在尝试基于Github中的源代码为x64构建JShortcut dll:

我克隆了存储库,按照Make说明进行操作。但我在以下行动中遇到困难:

您可以在上构建除DLL之外的所有内容 任何带有Java和GNU的机器您可以构建DLL 在Windows计算机上分别运行compile.bat脚本 src/jni目录。在中完成“全部制作”后立即执行此操作 顺序如下

此文件是:

cl "-IC:/Program Files/Java/jdk1.8.0_162/include" "-IC:/Program Files/Java/jdk1.8.0_162/include/win32" -LD jshortcut.cpp -Fejshortcut_amd64.dll Advapi32.lib shell32.lib ole32.lib 
cl
无法识别。我不知道该怎么办。我正在使用支持cpp的Apache Netbeans 12。所以我想我应该可以从Netbeans上做到这一点,但我对cpp一点也不熟悉

[编辑]

我替换了:

  • cl
    gcc
    (在雾天建议之后)和
  • 所有的
    .lib
    由它们的
    .dll
    对应项
我现在有:

gcc“-IC:/Program Files/Java/jdk1.8.0\u 162/include”“-IC:/Program Files/Java/jdk1.8.0\u 162/include/win32”-LD jshortcut.cpp-Fejshortcut\u amd64.dll/cygdrive/c/Windows/System32/cygdrive/c/Windows/System32/shell32.dll/cygdrive/c/Windows/System32/ole32.dll

编译给了我以下错误:

gdrive/z/Temp/ccdePcoW.o:jshortcut.cpp:(.xdata$_ZN7JNIEnv_9NewObjectEP7_jclassP10_jmethodIDz+0xc): undefined reference to `__gxx_personality_seh0'
gdrive/z/Temp/ccdePcoW.o:jshortcut.cpp:(.xdata$_ZN7JNIEnv_9NewObjectEP7_jclassP10_jmethodIDz+0xc): relocation truncated to fit: rva32 against undefined symbo
__gxx_personality_seh0'
r/lib/gcc/x86_64-pc-cygwin/4.8.2/../../../../x86_64-pc-cygwin/bin/ld: /cygdrive/z/Temp/ccdePcoW.o: bad reloc address 0x0 in section `.pdata$_ZN7JNIEnv_9NewOb
tEP7_jclassP10_jmethodIDz'
lect2: error: ld returned 1 exit status

有一个类似的错误,但我没有足够的知识应用到这里。

“CL”是微软Visual C++编译器。如果您使用的是GNUC/C++,请尝试将makefile更改为“gcc”或“g++”,谢谢。我又前进了一步。现在有一些编译问题。这意味着您必须使用
g++
进行编译。看这里:这回答了你的问题吗?