我一直在尝试以几种不同的方式在Windows上构建fltk
,但我总是最终:
configure:error:C编译器无法创建可执行文件 (msys fltk / configure)
或
检查工作C编译器:C:/MinGW/bin/gcc.exe - 已损坏 (CMake的-GUI)
我已经使用fltk 1.3.0
和1.3.3
进行了尝试,我甚至使用了三种不同的MinGW发行版,GCC
版本:5.1.0
; 4.9.2
和3.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:check for 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自由软件基金会, 这是免费软件;查看复制条件的来源。 没有保修;甚至不适用于A的适销性或适用性 特别目的。
配置: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 --with-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 --wit h-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静电/包括' CPPFLAGS = LDFLAGS =' -pipe -L / c / mingw492 / i686-492-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项目构建)configure:1720: $? = 0 configure:1722:gcc -V& 5 gcc.exe:错误: 无法识别的命令行选项' -V' gcc.exe:致命错误:没有输入 文件编译终止。配置:1725:$? = 1配置: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' collect2.exe:错误:ld返回1 退出状态配置:1754:$? = 1 configure:失败的程序是:|第1728行"配置" | / * confdefs.h。 * / | | #define PACKAGE_NAME"" | #define PACKAGE_TARNAME"" | #define PACKAGE_VERSION"" |的#define
PACKAGE_STRING"" | #define PACKAGE_BUGREPORT"" | / *结束confdefs.h。 * / | | int main()| {| | ; |返回0; | } configure:1793:错误:C编译器无法创建可执行文件请参阅`config.log'更多 的信息。
configure:exit 77
我以前使用这些相同的工具(nana和SFML)编译了2个其他gui库,因此gcc编译器可能出现问题。
修改
某些内容(最有可能是cygwin
)一直违反我的mingw
gcc
计划,并且每次打破"打破"我得到黑色的vcc1.exe窗口。然后我必须更换mingw文件夹以使其再次运行,这主要发生在我打开netbeans时。我只是不知道如何解决这个问题,所以我一直在避免cygwin
和netbeans
。
答案 0 :(得分:0)
我用cmake gui而不是.configure
1。打开cmake gui。
2。输入源代码文件夹(fltk文件夹的根目录,即:" C:/libs/fltk-1.3.3")。
3.输入构建文件夹,即:" C:/libs/fltk-1.3.3/build /"。
4.单击配置
5. **可选您可以更改一些选项但我没有在6. cmd中单击Genertae
7.我使用了git bash虽然):cd到build目录并运行make或mingw32-make
我完全卸载了cygwin,因为它干扰了工具链的构建,即mingw和tdm-gcc(仍不确定为什么会发生这种情况)。
答案 1 :(得分:0)
设置开发环境的更简单方法是使用MSYS2。
pacman -S make automake autoconf libtool mingw-w64-i686-gcc mingw-w64-i686-fltk
g++ -o myproject myproject.cpp -lfltk