2016-11-02 43 views
-1

我正在使用QT Creator开发应用程序。在QTC中运行代码会导致程序崩溃,所以我去了程序可执行文件的路径。当我尝试运行它时,出现以下消息:“程序无法启动,因为您的计算机缺少libname.dll。”这很奇怪,因为libname.dll不存在,尽管libname.lib可以。由于缺少.dll文件,C++程序无法启动,但应该查找.lib

在我的应用程序的.pro文件,链接相应的库时以下的行被自动插入:

unix:!macx|win32: LIBS += -L$$PWD/../../libname/lib/ -luhd 

    win32:!win32-g++: PRE_TARGETDEPS += $$PWD/../../libname/lib/uhd.lib 
    else:unix:!macx|win32-g++: PRE_TARGETDEPS += $$PWD/../../libname/lib/libuhd.a 

我通过QMAKE文件看上去并没有一个LibName.dll的提及等是有什么我可以在这里失踪?

+1

以同样的方式。如果是.LIB进口模块,它将尝试加载其相应的DLL。 – MrEricSir

+0

请注意,即使在Windows上,Qmake也可以处理LIBS + = L $$ PWD /../../ libname/lib/-luhd。 – rubenvb

+0

您可能需要DLL或需要独立库。看起来你也没有。 –

回答

-1

您需要将库编译为.dll。

Windows程序依赖.dll运行,而Linux依赖于.lib。您的问题在于您尝试在Windows可执行文件上使用Linux库文件。

查找/构建使用Windows编译器(MSVC/MinGW的)库中的.dll文件,然后把它旁边的可执行文件,你做对了Qt的DLL

相关问题