【发布时间】:2019-08-14 17:18:04
【问题描述】:
我知道这是一个被讨论了 100 次的话题,但经过多次尝试,我只是找不到解决方案,因为不了解情况 - 没有错误。 我正在尝试将 dll“C”库连接到我的项目,并在应用程序输出“...以代码 -1073741515 退出”中接收一些疯狂的代码,以及按关闭此窗口的空控制台...
所以,这是我的: mylib.c:
#include "mylib.h"
int mysum(int a, int b){
return a + b;
}
mylib.h:
#ifdef __cplusplus
extern "C" {
#endif
#define EXPORT __declspec(dllexport)
EXPORT int mysum(int, int);
#ifdef __cplusplus
}
#endif
testlib.pro:
QT -= gui
CONFIG += c++11 console
CONFIG -= app_bundle
SOURCES += \
main.cpp
LIBS += -L$$PWD/../../../../TestDLL/ -lmylib
INCLUDEPATH += $$PWD/../../../../TestDLL
DEPENDPATH += $$PWD/../../../../TestDLL
HEADERS += \
../../../../TestDLL/mylib.h
main.cpp:
#include <QCoreApplication>
#include "mylib.h"
#include <QtDebug>
int main(int argc, char *argv[])
{
QCoreApplication a(argc, argv);
qDebug()<<mysum(1,2);
return a.exec();
}
我想,我在专业文件中缺少链接,但无法得到什么。 TestDLL 是包含以下内容的文件夹:
mylib.dll mylib.h mylib.c libmylib.a
构建我使用的 dll:
gcc -c mylib.c
gcc -shared -o mylib.dll -Wl,--out-implib,libmylib.a mylib.o
将不胜感激一些提示...谢谢
【问题讨论】:
-
-1073741515是0xC0000135,而后者又是STATUS_DLL_NOT_FOUND