使用g ++在Windows上创建文件,链接库

kre*_*tar 4 c++ windows makefile g++

我已经厌倦了MSVC++ 6以及每个人总是告诉我这是一个糟糕的编译器等等.

所以现在我决定尝试使用vim plus g ++和makefile.这是我的问题; 我有以下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
Run Code Online (Sandbox Code Playgroud)

这在尝试时会出错make,因为我需要链接到一个Ws2_32.lib所需的Windows库,这是Winsock2.hinclude在我的一个.h文件中所需要的.

那我该怎么做?我已经尝试过这个-l选项,但我无法让它发挥作用.它如何与具有空格的路径一起使用?

Phi*_*e F 8

第一步:找到您要查找的库.对我来说,它在:

C:\Program Files\Microsoft Visual Studio\VC98\Lib
Run Code Online (Sandbox Code Playgroud)

第二步,用-L传递该目录:

LINKFLAGS=-L"C:\Program Files\Microsoft Visual Studio\VC98\Lib"
Run Code Online (Sandbox Code Playgroud)

第三步,使用-l(小写L)传递库的名称:

LINKFLAGS=-L"C:\Program Files\Microsoft Visual Studio\VC98\Lib" -lWs2_32
Run Code Online (Sandbox Code Playgroud)

然后使用它:

main.exe: main.o Accel.o
   $(CC) $(LINKFLAGS) -o main.exe main.o Accel.o 
Run Code Online (Sandbox Code Playgroud)