收藏文章 楼主

c++ 类函数编译错误问题

版块:C/C++语言开发   类型:普通   作者:小绿叶技术博客   查看:106   回复:0   获赞:0   时间:2025-05-25 23:04:25


问题:

.h 中定义类函数 
class memSetClass {

    public:
        void writeToMemory

如果不满足下面条件会报错。
mem.cpp中定义需要将 .h 中的类 memSet跟上双冒号来定义类函数:void memSetClass::writeToMemory()


-- Build files have been written to: /media/eisc/datadisk/eisc/www/gcc/build
[ 25%] Building CXX object app/anfang/CMakeFiles/libpcap.dir/libpcap.cpp.o
[ 50%] Building CXX object app/anfang/CMakeFiles/libpcap.dir/class/ipClass.cpp.o
[ 75%] Building CXX object app/anfang/CMakeFiles/libpcap.dir/class/memClass.cpp.o
[100%] Linking CXX executable libpcap
/usr/bin/ld: CMakeFiles/libpcap.dir/class/ipClass.cpp.o:(.bss+0x0): multiple definition of `recordsClass'; CMakeFiles/libpcap.dir/libpcap.cpp.o:(.bss+0x0): first defined here
/usr/bin/ld: CMakeFiles/libpcap.dir/class/memClass.cpp.o:(.bss+0x0): multiple definition of `recordsClass'; CMakeFiles/libpcap.dir/libpcap.cpp.o:(.bss+0x0): first defined here
/usr/bin/ld: CMakeFiles/libpcap.dir/libpcap.cpp.o: in function `runjson()':
libpcap.cpp:(.text+0x161c): undefined reference to `memSetClass::writeToMemory(std::vector<Record, std::allocator<Record> >&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, long const&)'
/usr/bin/ld: libpcap.cpp:(.text+0x17d8): undefined reference to `memSetClass::readFromMemory(std::vector<Record, std::allocator<Record> > const&)'
/usr/bin/ld: libpcap.cpp:(.text+0x17f1): undefined reference to `memSetClass::clearMemory(std::vector<Record, std::allocator<Record> >&)'
collect2: error: ld returned 1 exit status
gmake[2]: *** [app/anfang/CMakeFiles/libpcap.dir/build.make:130:app/anfang/libpcap] 错误 1
gmake[1]: *** [CMakeFiles/Makefile2:113:app/anfang/CMakeFiles/libpcap.dir/all] 错误 2
gmake: *** [Makefile:91:all] 错误 2
项目 anfang 当前目录:/media/eisc/datadisk/eisc/www/gcc/build/app/anfang  拷贝到 cbin : /media/eisc/datadisk/eisc/www/gcc/bin/anfang 
[ok] 2025-05-25 22:58:54 全自动化编译完成,正在执行程序...
sudo: /media/eisc/datadisk/eisc/www/gcc/bin/anfang/libpcap:找不到命令





提供企业建站服务,免费网防系统,提交信息登录 http://yundun.ddoss.cn 邮箱: proposal@ddoss.cn 
回复列表
默认   热门   正序   倒序

回复:c++ 类函数编译错误问题

头像

用户名:

粉丝数:

签名:

资料 关注 好友 消息