在为64位发行版编译和运行我的应用程序时,我收到了下面的错误(版本只是在调试时没有优化级别的-O2 )。
32位调试版本运行正常。64位调试版本崩溃(这是我正在尝试解决的问题),但是64位版本给了我这个错误。我猜他们是有关联的--但不能百分之百肯定。
以下是错误:
./tester_x64Linux: relocation error: /home/user/development/lib/libcontroller_library_x64Linux.so.0: symbol nanosleep version GLIBC_2.2.5 not defined in file libpthrea
我正在用C++编写一个qt5应用程序来控制我的机器人装置。我使用运行Ubuntu18.04的Raspberry Pi来完成这个任务。除了Linux之外,这个程序永远不会在任何系统上运行。我不太熟悉qt,但运行qt应用程序的常见方法似乎是通过返回
int QApplication::exec()
在main函数中。但是,我需要并发运行与GUI无关的代码。例如,每当我的编码器改变状态时,我都需要执行一个回调。此回调与用户输入或GUI无关。如何让main函数在运行qt应用程序窗口的同时能够接受回调?
文档中写道:
To make your application perform idle proce
我有一个共享库,由另一个我无法控制的应用程序使用,它需要*.so对象。我的库使用了需要静态链接的sqlite3 (我绝对需要一个自包含的二进制文件)。
当我试图编译和链接我的库时:
-fpic -flto -pthread -m64
-flto -static -shared
最后会出现以下错误:
/usr/bin/ld: /usr/local/lib/gcc/x86_64-unknown-linux-gnu/4.6.1/crtbeginT.o: relocation R_X86_64_32 against `__DTOR_END__' can not be used when mak