c++ - qt编译成功但运行失败

标签 c++ qt mingw mingw32 bitcoin

我编译bitoin-qt,PTS coin等Altercoin都成功了,但是都不能运行。 我使用从网站下载的 MinGW4.4、QT 4.8.5 和 QT creator 2.8.1。 这是我的 .pro 设置:

BOOST_LIB_SUFFIX=-mgw44-mt-s-1_53
BOOST_INCLUDE_PATH=D:/C/coin/namecoinq/libs/boost_1_53_0
BOOST_LIB_PATH=D:/C/coin/namecoinq/libs/boost_1_53_0/stage/lib
BDB_INCLUDE_PATH=D:/C/coin/namecoinq/libs/db-4.8.30.NC/build_unix
BDB_LIB_PATH=D:/C/coin/namecoinq/libs/db-4.8.30.NC/build_unix
OPENSSL_INCLUDE_PATH=D:/C/coin/namecoinq/libs/openssl-1.0.1e/include
OPENSSL_LIB_PATH=D:/C/coin/namecoinq/libs/openssl-1.0.1e
MINIUPNPC_INCLUDE_PATH=D:/C/coin/namecoinq/libs
MINIUPNPC_LIB_PATH=D:/C/coin/namecoinq/libs/miniupnpc-1.8

我取消注释这段代码,因为 MinGW4.4 不支持它(我用过 MinGW 4.6、4.7、4.8,但它们都编译失败):

#win32:QMAKE_LFLAGS *= -Wl,--dynamicbase -Wl,--nxcompat

这些都是用MinGW4.4编译成功的,但是编译出来的debug和release exe都跑不了,我已经把qt dlls对付到exe方向了,调试的时候,还没进入主源就坏了。

======================更新编辑==================== ======

我知道这是因为leveldb,但我不知道我编译的leveldb有什么问题: TARGET_OS=NATIVE_WINDOWS mingw32-make libleveldb.a libmemenv.a

当我使用另一个altercoin leveldb源码时,错误解决。但是我用回原来的leveldb源码,程序又崩溃了。

最佳答案

在我看来你仍然缺少一个 .dll。尝试使用 dependency walker 并验证您没有遗漏任何依赖项。

关于c++ - qt编译成功但运行失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20720950/

相关文章:

全局变量的 C++ 性能

c++ - 类中的 Void 指针 - 转换

c++ - 调用重载的 ‘<brace-enclosed initializer list>’ 与 suffices forpair 是不明确的

c++ - QT - 第 3 方回调不回调?

c++ - 使用 mingw 和 msys 编译带有 Python 绑定(bind)的 c++ 时出错

c++ - Pcrepp - 用于匹配主机名的 Perl 正则表达式语法

c++ - 使用 QAction 和 setToolTip() 时的 Qt 本地化问题

c++ - 等待 QLineEdit 文本更改

c++ - 获取随机 SIGTRAP 信号(在 MinGW-gdb 中)是否是内存损坏的标志?

c - 移植到mingw时如何处理 "SIGQUIT"信号?