我已经受够了 MSVC++6 以及每个人总是告诉我它是一个蹩脚的编译器等等。
所以现在我决定尝试使用 vim 加上 g++ 和 makefile。这是我的问题;我有以下生成文件:
# This is supposed to be a comment..
CC = g++
# The line above sets the compiler in use..
# The next line sets the compilation flags
CFLAGS=-c -Wall
all: main.exe
main.exe: main.o Accel.o
$(CC) -o main.exe main.o Accel.o
main.o: main.cpp Accel.h
$(CC) $(CFLAGS) main.cpp
Accel.o: Accel.cpp Accel.h
$(CC) $(CFLAGS) Accel.cpp
clean:
del main.exe *.o
这在尝试make
时会出错,因为我需要链接到名为Ws2_32.lib
的Windows 库,Winsock2.h 需要它
,我将其包含
在我的一个 .h
文件中。
那我该怎么做呢?我试过 -l
选项,但我无法让它工作。它如何处理包含空格的路径?
最佳答案
第一步:找到您要查找的库。对我来说,它在:
C:\Program Files\Microsoft Visual Studio\VC98\Lib
第二步,使用 -L 传递该目录:
LINKFLAGS=-L"C:\Program Files\Microsoft Visual Studio\VC98\Lib"
第三步,用-l(小写L)传递库名:
LINKFLAGS=-L"C:\Program Files\Microsoft Visual Studio\VC98\Lib" -lWs2_32
然后使用它:
main.exe: main.o Accel.o
$(CC) $(LINKFLAGS) -o main.exe main.o Accel.o
关于c++ - 使用 g++ 在 Windows 上生成文件,链接库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/577006/