写了个自己的函数头文件mfs.h
。在其他cpp中调用这个头文件里的函数,报错
client.cpp:(.text+0x96):对‘writen(int, void const*, unsigned long)’未定义的引用
client.cpp:(.text+0xb2):对‘readn(int, void*, unsigned long)’未定义的引用
collect2: error: ld returned 1 exit status
解决方法:
1、这个问题是因为没有把mfs.h
和main.cpp
链接起来,
2、编译源文件(注意是源文件)mfs.cpp
:g++ -c mfs.cpp
生成mfs.o
3、编译main.cpp
:g++ -c main.cpp
生成main.o
4、最后是链接,因为main.o
依赖于mfs.o
所以mfs.o
在前main.o
在后。
g++ -o main mfs.o main.o
生成可执行文件main