[英]using external libraries with msys - minGW
我想编写和编译需要FLTK 1.3.2 GUI库的C ++代码。 我想在MSYS中使用minGW。
我已经正确安装了minGW和MSYS,并且能够使用./configure make构建FLTK。 至此一切正常。 现在,我正在测试hello程序,可以使编译器找到头文件,但是它返回错误-我认为这是由于编译器未找到FLTK库的位置而导致的。 我查看了minGW站点,似乎使MSYS将编译器定向到正确位置的困难并不罕见。
我已经使用C ++ minGW工作了大约一年,但是对于MSYS来说是全新的。
这是我的命令:
c++ Hello.cxx -Lc:/fltk-1.3.2/test -Ic:/fltk-1.3.2 -o Hello.exe
(我不确定我的语法是否正确,因此不胜感激)
这是我从编译器得到的:
C:\Users\CROCKE~1\AppData\Local\Temp\ccbpaWGj.o:hello.cxx(.text+0x3c): undefined reference to 'Fl_Window::Fl_Window(int, int, char const*)'
...更多类似的评论...
collect2: ld returned exit status
看来编译器找不到我相信在c:/fltk-1.3.2/test.
的函数定义c:/fltk-1.3.2/test.
再次,我是新手,因此非常感谢您的帮助。 谢谢。
您的编译命令不好...您仅使用-L参数通知LD在何处搜索其他库,但没有指定您实际要使用的任何库。 为此,请使用-l标志。 因此命令应该类似于: g++ Hello.cxx -Lc:/fltk-1.3.2/test -Ic:/fltk-1.3.2 -o Hello.exe -llibfltk_images -llibfltk -llibwsock32 -llibgdi32 -llibuuid -llibole32
My建议-使用提供的fltk-config脚本获取标志。
这是我从此处“偷走”的MinGW Makefile: http ://www.fltk.org/articles.php?L1286。
# Makefile for building simple FLTK programs
# using MinGW on the windows platform.
# I recommend setting C:\MinGW\bin AND C:\MinGW\msys\1.0\bin
# in the environment %PATH% variable on the development machine.
MINGW=C:/MinGW
MSYS=${MINGW}/msys/1.0
FLTK_CONFIG=${MSYS}/local/bin/fltk-config
INCLUDE=-I${MSYS}/local/include
LIBS=-L${MSYS}/local/lib
CC=${MINGW}/bin/g++.exe
RM=${MSYS}/bin/rm
LS=${MSYS}/bin/ls
EXE=dynamic_buttons_scroll.exe
SRC=$(shell ${LS} *.cxx)
OBJS=$(SRC:.cxx=.o)
CFLAGS=${INCLUDE} `${FLTK_CONFIG} --cxxflags`
LINK=${LIBS} `${FLTK_CONFIG} --ldflags`
all:${OBJS}
${CC} ${OBJS} ${LINK} -o ${EXE}
%.o: %.cxx
${CC} ${INCLUDE} ${CFLAGS} -c $*.cxx -o $*.o
clean:
- ${RM} ${EXE}
- ${RM} ${OBJS}
tidy: all
- ${RM} ${OBJS}
rebuild: clean all
# Remember, all indentations must be tabs... not spaces.
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.