首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在windows 7中编译JNI

在windows 7中编译JNI
EN

Stack Overflow用户
提问于 2013-02-21 13:17:26
回答 1查看 5.6K关注 0票数 1

我正在尝试将一个名为吉布利斯的开源项目编译为windows 7下的DLL,以便在Java中与JNI一起使用它。在Linux中,使用包中已经提供的makefile,一切都很好。

我的第一次搜索指向了cygwin,然后我遵循了一些建议,比如这一个,它基本上告诉我要使用:

代码语言:javascript
复制
gcc-3 -D __int64="long long" -mno-cygwin -Wl,--add-stdcall-alias 
  -I"<JAVA_HOME>\include" -I"<JAVA_HOME>\include\win32" -shared -o jbliss.dll *.cc

这主要导致以下错误:

代码语言:javascript
复制
bliss-0.50/timer.cc:2:23: sys/times.h: No such file or directory

我搜索了这个错误,找到了这个职位,它建议使用-I /usr/include/。但这将导致比它解决的更多的错误:

代码语言:javascript
复制
In file included from /usr/lib/gcc/i686-pc-mingw32/3.4.4/include/c++/bits/stl_algobase.h:67,
                 from /usr/lib/gcc/i686-pc-mingw32/3.4.4/include/c++/bits/stl_tree.h:66,
                 from /usr/lib/gcc/i686-pc-mingw32/3.4.4/include/c++/set:66,
                 from bliss-0.50/graph.cc:4:
/usr/lib/gcc/i686-pc-mingw32/3.4.4/include/c++/cstdlib:181: error: `::strtold' has not been declared
/usr/lib/gcc/i686-pc-mingw32/3.4.4/include/c++/cstdlib:200: error: `__gnu_cxx::strtold' has not been declared

所以我现在迷惑不解地坐着,希望得到一个答案,gcc可以用哪种方法来做正确的选择。我刚刚下载了cygwin,我想说我有最新的版本。

提前谢谢。

额外的本地信息:

代码语言:javascript
复制
$ which gcc
/usr/bin/gcc

$ echo $PATH
/usr/local/bin:/usr/bin:/cygdrive/c/WATCOM/BINNT:/cygdrive/c/WATCOM/BINW:/cygdrive/c/Windows/system32:/cygdrive/c/Windows:/cygdrive/c/Windows/System32/Wbem:/cygdrive/c/Windows/System32/WindowsPowerShell/v1.0:/cygdrive/c/Program Files (x86)/QuickTime Alternative/QTSystem:/cygdrive/c/Program Files/TortoiseSVN/bin:/cygdrive/c/Program Files/MATLAB/R2011b/runtime/win64:/cygdrive/c/Program Files/MATLAB/R2011b/bin:/cygdrive/c/Program Files (x86)/OpenSSH/bin:/cygdrive/c/Program Files/MiKTeX 2.9/miktex/bin/x64:/cygdrive/c/Program Files (x86)/Graphviz 2.28/bin
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-03-02 18:01:58

谷歌还向我展示了这样一个事实:实际上,sys/times.h (显然不应该)在交流会上是不可用的。sys/times.h下的包含文件据说与平台有关,因此在windows上不受支持。

解决方案是尽可能删除对sys/times.h (或任何依赖于平台的库)的调用。删除这些包含文件(当然还会向编译器添加适当的选项)将导致成功构建。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/15003250

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档