【发布时间】:2014-02-05 00:43:24
【问题描述】:
我正在尝试创建一个 .dll,同时按照本教程 (http://www3.ntu.edu.sg/home/ehchua/programming/java/JavaNativeInterface.html) 在我的 eclipse 项目中使用 JNI。我的 makefile 存在问题,但这可能与所有 JNI 内容无关。
我在构建(全部)时收到“未知选项:--add-stdcall-alias”。我正在使用 Mac GCC 编译器。这是我的控制台日志和生成文件:
编辑:所以我删除了给我错误的选项并且我的构建工作。但是,仅删除一行我一无所知的代码,我就感到不安全。有人想告诉我删除此代码的含义吗?
控制台输出: 18:05:33 ** 构建配置默认项目 HPA* 测试 * 做所有 javah -classpath ../bin HPAProgram gcc -Wl,--add-stdcall-alias -shared -o hpaprogram.dll HPAProgram.o ld:未知选项:--add-stdcall-alias clang:错误:链接器命令失败,退出代码为 1(使用 -v 查看调用) make: ** [hpaprogram.dll] 错误 1
18:05:34 Build Finished (took 823ms)
制作文件:
# Define a variable for classpath
CLASS_PATH = ../bin
# Define a virtual path for .class in the bin directory
vpath %.class $(CLASS_PATH)
all : hpaprogram.dll
# $@ matches the target, $< matches the first dependancy
hpaprogram.dll : HPAProgram.o
gcc -Wl,--add-stdcall-alias -shared -o $@ $<
# $@ matches the target, $< matches the first dependancy
HPAProgram.o : HPAProgram.c++ HPAProgram.h
gcc -I /System/Library/Frameworks/JavaVM.framework/Versions/A/Headers/ -c $< -o $@
# $* matches the target filename without the extension
HPAProgram.h : HPAProgram.class
javah -classpath $(CLASS_PATH) $*
clean :
rm HPAProgram.h HPAProgram.o hpaprogram.dll
【问题讨论】:
标签: java c++ eclipse gcc makefile