今天我的测试继续进行,但我总是得到:“无法打开共享对象文件”。所以我制作了一个包含最重要内容的小程序:
垃圾箱:测试; lib:TestLib
lib:
H:
class TestLib{
public:
TestLib();
void DoSome();
};
CPP:
#include "testlib.h"
#include <iostream>
TestLib::TestLib(){
}
void TestLib::DoSome(){
std::cout << "Hallo Test_Lib!" << std::endl; std::cout.flush();
}
垃圾箱:
QT creator pro.file:
HOME = $$system(echo $HOME)
TEMPLATE = app
CONFIG += console
CONFIG -= app_bundle
CONFIG -= qt
SOURCES += main.cpp
LIBS += -L$$HOME/Test_Lib/Libs/ -Wl,-rpath=$$HOME/Test_Lib/Libs/ -lTestLib -ldl -lpthread -lrt
INCLUDEPATH += $$HOME/Test_Lib/Includes/
DEPENDPATH += $$HOME/Test_Lib/Includes/
和main():
#include "testlib.h"
int main(){
TestLib nLib;
nLib.DoSome();
return 0;
}
每台计算机上的文件都在
中 /home/USERNAME/Test_Lib
/home/USERNAME/Test_Lib/Includes/
/home/USERNAME/Test_Lib/Libs/
在开发计算机上,我可以运行./Test,输出是“Hallo Test_Lib!”。
但是在我的另一台计算机上,我收到错误“无法打开共享对象文件:libTestLib:没有这样的文件或目录”。
两台计算机都安装了Linux Mint-17-64-KDE ......
我如何让它运作?
问候Earlybite
答案 0 :(得分:0)
看来你的Lib是一个共享对象。你有两个解决方案: