/usr/bin/ld : /tmp/ccwz9qWF . o: in function 'main':
a.cpp:(.text+0x73): underfined reference to 'num3(int,int)'
collect2: error: id returned 1 exit status
在Linux下编译c++报错
- 写回答
- 好问题 0 提建议
- 追加酬金
- 关注问题
- 邀请回答
-
3条回答 默认 最新
- 技术专家团-小桥流水 2022-01-26 15:09关注
你用g++编译的时候只写了a.cpp,这是错误的,需要把b.cpp也写上,用下面的指令:
g++ a.cpp b.cpp或者使用下面的makefile模板:
你新建个Makefile文件,把下面的内容贴进去,按照说明修改一下,保存退出,在终端执行make就可以了#编译器LINUX CXX=g++ #编译动态库 CXXDL= -g -lpthread $(LIB) COMPILE=-c -g #编译目标文件 CXXFLAGS=-g $(INCLUDE) -fPIC #头文件搜索路径 把.h的路径写在这里 INCLUDE=-I./ #动态库 这里添加依赖的动态库 ,没有依赖的动态库的话,=后面的删掉即可 #LIB=-L/home/lib -lnettrans LIB= #目标文件,所有的.c文件 都写在这里 OBJ_FILES=a.o b.o #生成的可执行文件 TARGET=./out $(TARGET):$(OBJ_FILES) @echo "Link the $@ starting..." $(CXX) -o $(TARGET) $(OBJ_FILES) $(CXXDL) @echo "Link the $@ done." $OBJ_FILES:%.o:%.cpp $(CXX) $< -o $@ $(COMPILE) -I$./ clean: rm $(OBJ_FILES) $(TARGET)
本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 1无用
悬赏问题
- ¥20 西门子S7-Graph,S7-300,梯形图
- ¥50 用易语言http 访问不了网页
- ¥50 safari浏览器fetch提交数据后数据丢失问题
- ¥15 matlab不知道怎么改,求解答!!
- ¥15 永磁直线电机的电流环pi调不出来
- ¥15 用stata实现聚类的代码
- ¥15 请问paddlehub能支持移动端开发吗?在Android studio上该如何部署?
- ¥20 docker里部署springboot项目,访问不到扬声器
- ¥15 netty整合springboot之后自动重连失效
- ¥15 悬赏!微信开发者工具报错,求帮改