在编写窗口通讯的程序中,设计了一个类serial.cpp,是专门操作串口的。
为了测试它,又写了一个测试函数test_main.cpp 。 编译时: g++ -o main test_main.cpp 结果老是出错: /tmp/ccWdHekq.o: In function `main': test_serial.cpp:(.text+0x6a): undefined reference to `serial::open_port(char*)' test_serial.cpp:(.text+0x88): undefined reference to `serial::write_port(char*)' test_serial.cpp:(.text+0x9f): undefined reference to `serial::read_port()' test_serial.cpp:(.text+0xb6): undefined reference to `serial::close_port()' collect2: ld 返回 1 其实错误很明显了,说明serial.cpp没有编译,导致连接失败,所以提示“undefined reference to...”。 使用Eclipse的时候,建立一个Managed Make C++ Project,已经将所有的C++文件编译过了,才不会报错的。 在网上找了半天,终于找到了一点点帮助,其实编译的过程中需要将连接用到的文件全部编译的。 使用如下的编译命令: g++ -g -o Main Main.cpp test_main.cpp 就可以成功编译。然后运行: ./Main |
linux下编译C++文件(undefined reference to.....解决办法)
最新推荐文章于 2024-07-20 18:38:43 发布