这是我在这里的第一篇文章,如果我做错了,请原谅我。
我几天都在努力奋斗,最后我决定让步并寻求帮助。简而言之,我想使用mingw在windows上编译libnoise(1.0.0)。但是,似乎缺乏在线提供的信息。
我已从网站下载了源文件,并按照INSTALL文本文件中的说明进行操作,该文件指示我应该运行命令“CXXFLAGS =' - O3 -fomit-frame-pointer'make”(我从mingW shell)。
此操作的输出可以在link找到(由于其长度,我已链接而不是发布输出)。如果我省略CXXFLAGS或fomit-frame-pointer标志或者如果我使用mingw32-make或make all命令,输出变化不大。
似乎抱怨缺少文件,例如
Makefile:56:../ src /latlon.d:没有这样的文件或目录
虽然我可以确认它们存在于所述目录中。它也抱怨别的什么
C:/ MinGW的/ bin中/../ LIB / GCC /的mingw32 / 4.7.0 /../../../ libmingw32.a(main.o),此:main.c中:(特。 t.startup + 0xa7):未定义引用
_WinMain@16' collect2.exe: error: ld returned 1 exit status make[1]: *** [libnoise.so.0.3] Error 1 make[1]: Leaving directory
/ c / users / gibbons / desktop / libnoisesrc-1.0.0 / noise / src'make: * [src]错误2
我不知道如何解决这些问题。除了单个博客post之外,谷歌搜索并没有真正发现。这也没有真正帮助,因为我不确定它是什么意思“重命名库名称给它一个合适的DLL扩展。替换所有将做。”。
任何帮助或建议都会受到赞赏,我真的很困难! : - /
干杯
额外信息:我正在运行Windows 7,64位并且(想)我正在使用4.7.0。
答案 0 :(得分:3)
No such file or directory
。这是正常的,请参阅src/Makefile
的底部以获得解释。clean
。我无法从中恢复过来。 删除构建.so
个文件的所有路线。这些是linux文件,不能由mingw构建。打开所有Makefile
并注释掉包含.so
的行,但行除外:
libnoise: libnoise.so libnoise.a libnoise.la
all: libnoise.a libnoise.la libnoise.so.0.3
在上面的行中,只删除包含.so
的字词。这会阻止构建.so
目标。
在src/.libs/libnoise.a
中找到静态库。
构建DLL 会更难,因为作者使用Visual Studio构建它。没有makefile目标来构建dll。人们需要准备更多行来处理win32
目录中的文件并从中生成库。