首页 文章

fltk在windows上抱怨gcc

提问于
浏览
5

我一直在尝试几乎以一种不同的方式在Windows上构建 fltk 但我总是最终得到:

configure:错误:C编译器无法创建可执行文件(msys fltk / configure)

要么

检查工作C编译器:C:/MinGW/bin/gcc.exe - 已损坏(CMake-gui)

我用 fltk 1.3.01.3.3 尝试了它,我甚至使用了三种不同的MinGW发行版, GCC 版本: 5.1.0 ; 4.9.23.4.5 . 但它不会编译 . 以下是./configure文件生成的一些错误日志:

$ ./configure --prefix = C:/libs/fltk-1.3.3 -----------核心测试 . ----------- configure:1336:检查构建系统类型configure:1354:result:i686-pc-mingw32 configure:1362:检查主机系统类型configure:1376:result:i686-pc-mingw32 configure :1439:检查gcc configure:1455:found / c / mingw32 / bin / gcc configure:1465:result:gcc configure:1709:检查C编译器版本configure:1712:gcc --version&5 gcc.exe(i686- win32-dwarf-rev2,由MinGW-W64项目建造)4.9.2版权所有(C)2014 Free Software Foundation,Inc . 这是免费软件;查看复制条件的来源 . 没有保修;甚至不适用于适销性或特定用途的适用性 . 配置:1715:$? = 0 configure:1717:gcc -v&5使用内置规格 . COLLECT_GCC = c:\ mingw32 \ bin \ gcc.exe COLLECT_LTO_WRAPPER = c:/ mingw32 / bin /../ libexec / gcc / i686-w64-mingw32 / 4.9.2 / lto-wrapper.exe目标:i686-w64-mingw32配置为:../../../src/gcc-4.9.2/configure --host = i686-w64-mingw32 --build = i686-w64-mingw32 --target = i686-w64-mingw32 - prefix = / mingw32 --with-sysroot = / c / mingw492 / i686-492-win32-dwarf-rt_v4-rev2 / mingw32 --with-gxx-include-dir = / mingw32 / i686-w64-mingw32 / include / c --enable-shared --enable-static --disable-multilib --enable-languages = ada,c,c,fortran,objc,obj-c,lto --enable-libstdcxx-time = yes --enable-threads = win32 --enable-libgomp --enable-libatomic --enable -lto --enable-graphite --enable-checking = release --enable-fully-dynamic-string --enable-version-specific-runtime-libs - -disable-sjlj-exceptions --with-dwarf2 --disable-isl-version-check --disable-cloog-version-check --disable-libstdcxx-pch --disable-libstdcxx-debug --enable-bootstrap - disable-rpath --disable-win32-registry --disable-nls --disable-werror --disable-symvers --wit h-gnu-as --with-gnu-ld --with-arch = i686 --with-tune = generic --with-libiconv --with-system-zlib --with-gmp = / c / mingw492 / prerequisites / i686-w64-mingw32-static --with-mpfr = / c / mingw492 / prerequisites / i686-w64-mingw32-static --with-mpc = / c / mingw492 / prerequisites / i686-w64-mingw32-static - with-isl = / c / mingw492 / prerequisites / i686-w64-mingw32-static --with-cloog = / c / mingw492 / prerequisites / i686-w64-mingw32-static --enable-cloog-backend = isl --with -pkgversion ='i686-win32-dwarf-rev2,由MinGW-W64项目建造'--with-bugurl = http://sourceforge.net/projects/mingw-w64 CFLAGS =' - O2 -pipe -I / c / mingw492 / i686-492-win32-dwarf-rt_v4-rev2 / mingw32 / opt / include -I / c / mingw492 / prerequisites / i686-zlib-static / include -I / c / mingw492 / prerequisites / i686-w64-mingw32- static / include'CXXFLAGS =' - O2 -pipe -I / c / mingw492 / i686-492-win32-dwarf-rt_v4-rev2 / mingw32 / opt / include -I / c / mingw492 / prerequisites / i686-zlib-static / include -I / c / mingw492 / prerequisites / i686-w64-mingw32-static / include'CPPFLAGS = LDFLAGS =' - pipe -L / c / mingw492 / i686-49 2-win32-dwarf-rt_v4-rev2 / mingw32 / opt / lib -L / c / mingw492 / prerequisites / i686-zlib-static / lib -L / c / mingw492 / prerequisites / i686-w64-mingw32-static / lib - Wl, - 大地址感知'线程模型:win32 gcc版本4.9.2(i686-win32-dwarf-rev2,由MinGW-W64项目构建)配置:1720:$? = 0 configure:1722:gcc -V&5 gcc.exe:错误:无法识别的命令行选项'-V'gcc.exe:致命错误:没有输入文件编译终止 . 配置:1725:$? = 1 configure:1748:检查C编译器默认输出configure:1751:gcc conftest.c>&5 c:/ mingw32 / bin /../ lib / gcc / i686-w64-mingw32 / 4.9.2 /../ . ./../../i686-w64-mingw32/lib/../lib/libmingw32.a(lib32_libmingw32_a-crt0_c.o):crt0_c.c:(.text.startup 0x39):对WinMain @的未定义引用16'cols2.exe:错误:ld返回1退出状态configure:1754:$? = 1 configure:失败的程序是:|第1728行“configure”| / * confdefs.h . * / | | #define PACKAGE_NAME“”| #define PACKAGE_TARNAME“”| #define PACKAGE_VERSION“”| #define PACKAGE_STRING“”| #define PACKAGE_BUGREPORT“”| / * end confdefs.h . * / | | int main()| {| | ; |返回0; |配置:1793:错误:C编译器无法创建可执行文件有关详细信息,请参阅`config.log' . configure:退出77

我以前使用这些相同的工具(nana和SFML)编译了2个其他gui库,因此gcc编译器没有任何问题 .

EDIT

东西(最有可能是 cygwin )一直在破坏我的 mingw gcc 程序,并且每次"broken"我都会得到黑色的vcc1.exe窗口 . 然后我必须更换mingw文件夹以使其再次运行,这主要发生在我打开netbeans时 . 我只是一直在避免 cygwinnetbeans .

2 回答

  • 0
    • 我终于能够使用这个版本的TDM-GCC(根据gui安装程序)构建它:

    • MinGW-w64 / TDM64(32位和64位)==> TDM-GCC

    • 我使用了cmake gui而不是.configure
      1.打开cmake gui .
      2.输入源代码文件夹(fltk文件夹的根目录,即:"C:/libs/fltk-1.3.3") .
      3.输入构建文件夹,即:"C:/libs/fltk-1.3.3/build/" .
      4.单击“配置”

    1. **可选你可以改变一些选项,但我没有
      6.单击Genertae
      7.在cmd中(虽然我使用了git bash):cd到build目录并运行make或mingw32-make
    • 我完全卸载了cygwin,因为它干扰了工具链构建,即mingw和tdm-gcc(仍不确定为什么会发生这种情况) .
  • 0

    设置开发环境的更简单方法是使用MSYS2 .

    • 下载并安装

    • 运行MSYS2 Shell

    • 安装一些开发工具和FLTK: pacman -S make automake autoconf libtool mingw-w64-i686-gcc mingw-w64-i686-fltk

    • 运行Mingw64 Shell,您将能够轻松编译源代码: g++ -o myproject myproject.cpp -lfltk

相关问题