• Qt+VS编译器:默认库“library”与其他库的使用冲突;使用 /NODEFAULTLIB:library


          找到qt安装目录下的mkspecs文件夹,在里面找到你使用的对应版本编译器,打开qmake.conf。稍等:

    /MD:动态链接多线程库(msvcrt.lib)。使用该选项时,需要用/NODEFAULTLIB选项来忽略掉libc.lib、 libcmt.lib、libcd.lib、libcmtd.lib、msvcrtd.lib库,否则会有链接错误;

    /MDd:动态链接多线程调试库(msvcrtd.lib)。使用该选项时,需要用/NODEFAULTLIB选项来忽略掉libc.lib、 libcmt.lib、msvcrt.lib、libcd.lib、libcmtd.lib库,否则会有链接错误;

    /MT:静态链接多线程库(libcmt.lib)。使用该选项时,需要用/NODEFAULTLIB选项来忽略掉libc.lib、 msvcrt.lib、libcd.lib、libcmtd.lib、msvcrtd.lib库,否则会有链接错误;

    /MTd:静态链接多线程调试库(libcmtd.lib)。使用该选项时,需要用/NODEFAULTLIB选项来忽略掉libc.lib、 libcmt.lib、msvcrt.lib、libcd.lib、msvcrtd.lib库,否则会有链接错误。

          左边的是使用的链接方式,在qmake.conf中可以找到:

    QMAKE_CFLAGS_RELEASE    = -O2 -MD
    QMAKE_CFLAGS_DEBUG      = -Zi -MDd

    其中说明release下使用/MD参数,debug下使用/MDd参数,该如何忽略呢?

    以我使用/MDd参数时的debug为例,添加部分为红色:

    QMAKE_LFLAGS_DEBUG      = /DEBUG /NODEFAULTLIB:libc.lib /NODEFAULTLIB:libcmt.lib

    /NODEFAULTLIB:msvcrt.lib /NODEFAULTLIB:libcd.lib /NODEFAULTLIB:libcmtd.lib

  • 相关阅读:
    dimensionality reduction动机---data compression(使算法提速)
    K-means:如何选择K(cluster的数目)
    python2和python3共存方法
    docker postgresql 数据库
    转:MySQL到底能支持多大的数据量?
    数据库jdbc链接:mysql, oracle, postgresql
    python获取参数列表
    转载:ubuntu系统启动顺序,常见系统服务说明
    使用postman开发testcases记录贴
    python gevent使用例子
  • 原文地址:https://www.cnblogs.com/codingmylife/p/1730832.html
Copyright © 2020-2023  润新知