用mingw在窗户上编译libnoise



这是我在这里的第一篇文章,如果我做错了什么,请原谅我。

我一直在为此挣扎了几天,我终于决定承认并寻求帮助。简而言之,我想使用mingw在Windows上编译Libnoise(1.0.0)。但是,似乎缺乏在线可用的信息。

我已经从网站下载了源文件,并遵循了安装文本文件中的说明,这些说明表明我应该运行命令" cxxflags =' - o3 -fomit-fomit-fomit-fomit-frame-pointer'sake"(我从mingw壳)。

可以在链接上找到此操作的输出(我已链接而不是由于其长度而发布输出)。如果我省略CXXFLAG或FOMIT-FRAME-POINTER标志,或者如果使用Mingw32-Make或制作所有命令,则输出不会有太大差异。

似乎在抱怨缺少文件,例如

makefile:56:../src/latlon.d:没有这样的文件或目录

尽管我可以确认它们存在于目录中。它也抱怨其他东西

c:/mingw/bin/../lib/gcc/mingw32/4.7.0/../../../../libmingw32.a(main.o):main.c:st.c:st。 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.0.0.0/noise/src'Make'Make'Make:* [SRC]错误2

我不知道如何解决这些问题。与一篇博客文章相比,Google搜索并没有真正出现其他内容。这也没有真正的帮助,因为我不确定"重命名库名称以给它给它一个适当的dll扩展名。替换都可以。"。

任何帮助或建议都将不胜感激,我真的很困惑!: -/

欢呼

额外信息:我正在运行Windows 7,64位,并且(想想)我正在使用Mingw 4.7.0。

  1. 不必担心No such file or directory。这很正常,请参阅src/Makefile的底部以获取说明。
  2. 永远不要使用目标clean。我无法从中恢复过。
  3. 删除所有方向以构建.so文件。这些是Linux文件,无法通过mingw构建。打开所有Makefile s并注释包含.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构建它,会更加困难。没有构建DLL的Makefile目标。一个人需要准备更多行来处理win32目录中的文件并从中制作库。

最新更新