g++编译问题,又要麻烦大家了

Andyi 2009-01-19 09:11:04
make
g++ -g -D_REENTRANT -Wall -lresolv -lpthread -lmysqlclient -lnsl *.c ./server/*.cpp ./std/*.cpp ./client/*.c ./list/*.c ./setup_item/*.cpp ./setup_npc/*.cpp ./setup_room/*.cpp ./setup_skill/*.cpp -o test
g++: *.c: 没有那个文件或目录
g++: ./client/*.c: 没有那个文件或目录
g++: ./list/*.c: 没有那个文件或目录
server/Char.cpp: In member function `void CChar::FlushMyInfo()':
server/Char.cpp:2751: warning: decimal constant is so large that it is unsigned
server/Char.cpp:2751: warning: decimal constant is so large that it is unsigned
server/Char.cpp:2752: warning: decimal constant is so large that it is unsigned
server/Char.cpp:2752: warning: decimal constant is so large that it is unsigned
server/Char.cpp:2753: warning: decimal constant is so large that it is unsigned
server/Char.cpp:2753: warning: decimal constant is so large that it is unsigned

make: *** [all] Error 1

all 的第一行是:
g++ -g -D_REENTRANT -Wall -lresolv -lpthread -lmysqlclient -lnsl *.c ./server/*.cpp ./std/*.cpp ./client/*.c ./list/*.c ./setup_item/*.cpp ./setup_npc/*.cpp ./setup_room/*.cpp ./setup_skill/*.cpp -o test

请大家帮帮忙吧,谢谢!
...全文
476 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
yutaooo 2009-01-19
  • 打赏
  • 举报
回复

这些地方改用 $(wildcard *.c),如果没有*.c就要用这个函数的。这是gmake的一个内置函数。

比如



g++ -g -D_REENTRANT -Wall -lresolv -lpthread -lmysqlclient -lnsl $(wildcard *.c) # 后面我就不抄写啦。

johndiyang 2009-01-19
  • 打赏
  • 举报
回复
看错误提示是make all 错误。
我一般是先编译成.o。然后定义.o的依赖,再链接
Andyi 2009-01-19
  • 打赏
  • 举报
回复
附上makefile:

# htserver
#g++ -g -D_REENTRANT -Wall -lresolv -lpthread *.c ./server/*.cpp ./std/*.cpp ./client/*.c ./list/*.c ./setup_item/*.cpp ./setup_npc/*.cpp ./setup_room/*.cpp ./setup_skill/*.cpp -o test

all:
g++ -g -D_REENTRANT -Wall -lresolv -lpthread -lmysqlclient -lnsl *.c ./server/*.cpp ./std/*.cpp ./client/*.c ./list/*.c ./setup_item/*.cpp ./setup_npc/*.cpp ./setup_room/*.cpp ./setup_skill/*.cpp -o test
main:
c++ -Wall -c -g -D_GNU_SOURCE *.c
ar r libmudos.a *.o
rm *.o
c++ -Wall -g -D_GNU_SOURCE -lresolv -lpthread -lmysqlclient -lnsl libmudos.a -o esii

lib:
rm -rf core *.log *.o
c++ -Wall -c -g -D_GNU_SOURCE ./server/*.cpp
c++ -Wall -c -g -D_GNU_SOURCE ./combat/*.cpp
c++ -Wall -c -g -D_GNU_SOURCE ./std/*.cpp
c++ -Wall -c -g -D_GNU_SOURCE ./sql/*.cpp
c++ -Wall -c -g -D_GNU_SOURCE ./setup_item/*.cpp
c++ -Wall -c -g -D_GNU_SOURCE ./setup_npc/*.cpp
c++ -Wall -c -g -D_GNU_SOURCE ./setup_skill/*.cpp
c++ -Wall -c -g -D_GNU_SOURCE ./setup_room/*.cpp
ar r libmudos.a *.o
rm *.o
c++ -Wall -g -D_GNU_SOURCE -lresolv -lpthread -I/usr/include/mysql -L/usr/lib/mysql -lmysqlclient -lnsl libmudos.a libmysqlclient.so -o esii

libs:
c++ -Wall -c -g -D_GNU_SOURCE *.c ./server/*.cpp
ar r libmudos.a *.o
rm *.o
c++ -Wall -g -D_GNU_SOURCE -lresolv -lpthread -lmysqlclient -lnsl libmudos.a -o lt

libo3:
rm -rf core *.log *.o
g++ -Wall -c -O3 -D_GNU_SOURCE *.c ./server/*.cpp ./table/*.cpp
g++ -Wall -c -O3 -D_GNU_SOURCE ./combat/*.cpp
g++ -Wall -c -O3 -D_GNU_SOURCE ./std/*.cpp ./list/*.c
g++ -Wall -c -O3 -D_GNU_SOURCE ./setup_item/*.cpp
g++ -Wall -c -O3 -D_GNU_SOURCE ./setup_npc/*.cpp
g++ -Wall -c -O3 -D_GNU_SOURCE ./setup_room/*.cpp
g++ -Wall -c -O3 -D_GNU_SOURCE ./setup_skill/*.cpp
ar r libmudos.a *.o
rm *.o
g++ -Wall -O3 -D_GNU_SOURCE -lresolv -lpthread -I/usr/include/mysql -L/usr/lib/mysql -lmysqlclient -lnsl libmudos.a libmysqlclient.so -o esii

output:
g++ -g -D_GNU_SOURCE -Wall -lresolv -lpthread -lmysqlclient -lnsl libmudos.a -o esii
#End Makefile
waizqfor 2009-01-19
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 Andyi 的回复:]
引用 4 楼 waizqfor 的回复:
引用 3 楼 Andyi 的回复:
引用 2 楼 Andyi 的回复:
引用 1 楼 waizqfor 的回复:
路径错了? LZ检查了吗


这些目录中没有.c的文件

g++: *.c: 没有那个文件或目录
g++: ./client/*.c: 没有那个文件或目录
g++: ./list/*.c: 没有那个文件或目录


第二个文件夹不存在,其它文件夹里只有.h文件

你用的是.c文件吧 是纯C的文件 应该不能调用C++的库啊 所以提示没找到吧



[/Quote]
这个编译器 我没用过 最近总问它的事 看来要下一个
换个别的编译器测试一下 如果都不行 应该是程序有问题 如果在别的上能跑 就重装下G++吧
Andyi 2009-01-19
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 waizqfor 的回复:]
引用 3 楼 Andyi 的回复:
引用 2 楼 Andyi 的回复:
引用 1 楼 waizqfor 的回复:
路径错了? LZ检查了吗


这些目录中没有.c的文件

g++: *.c: 没有那个文件或目录
g++: ./client/*.c: 没有那个文件或目录
g++: ./list/*.c: 没有那个文件或目录


第二个文件夹不存在,其它文件夹里只有.h文件

你用的是.c文件吧 是纯C的文件 应该不能调用C++的库啊 所以提示没找到吧
[/Quote]

可是我的程序里面没有.C文件啊,是不是g++编译的语法有问题?
waizqfor 2009-01-19
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 Andyi 的回复:]
引用 2 楼 Andyi 的回复:
引用 1 楼 waizqfor 的回复:
路径错了? LZ检查了吗


这些目录中没有.c的文件

g++: *.c: 没有那个文件或目录
g++: ./client/*.c: 没有那个文件或目录
g++: ./list/*.c: 没有那个文件或目录


第二个文件夹不存在,其它文件夹里只有.h文件
[/Quote]
你用的是.c文件吧 是纯C的文件 应该不能调用C++的库啊 所以提示没找到吧
Andyi 2009-01-19
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 Andyi 的回复:]
引用 1 楼 waizqfor 的回复:
路径错了? LZ检查了吗


这些目录中没有.c的文件

g++: *.c: 没有那个文件或目录
g++: ./client/*.c: 没有那个文件或目录
g++: ./list/*.c: 没有那个文件或目录
[/Quote]

第二个文件夹不存在,其它文件夹里只有.h文件
Andyi 2009-01-19
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 waizqfor 的回复:]
路径错了? LZ检查了吗
[/Quote]

这些目录中没有.c的文件

g++: *.c: 没有那个文件或目录
g++: ./client/*.c: 没有那个文件或目录
g++: ./list/*.c: 没有那个文件或目录
waizqfor 2009-01-19
  • 打赏
  • 举报
回复
路径错了? LZ检查了吗

65,210

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧