簡體   English   中英

Qt 4.8.4創建發行版

[英]Qt 4.8.4 Creating release

我正在嘗試為我正在研究的項目構建發行版。 在Debug中使用Qt創建器進行構建時,效果很好。 當我嘗試構建為發行版時,出現“找不到-lQtSerialPort”。 Qt 4.8.4不包括QtSerialPort。 我必須手動添加。 我假設有些東西我忘了包含在這里。 可能在.pro文件中?

另外,我注意到在我的Qt / 4.8.4 / lib目錄中有許多.prl文件。 QtSerialPortd.prl有一個。 這是這里唯一具有.dll版本的文件。 不知道這是否有意義。

Makefile包含以下內容:

Makefile: ???.pro
    c:/Qt/4.8.4/mkspecs/features/serialport.prf \

$(QMAKE) -config release -o Makefile ???.pro

c:/Qt/4.8.4/mkspecs/features/serialport.prf:

serialport.prf看起來像這樣:

qtAddLibrary(QtSerialPort)

!isEmpty(QTSERIALPORT_BUILD_ROOT) {
    INCLUDEPATH -= $$QMAKE_INCDIR_QT/QtSerialPort
    QMAKE_INCDIR += $$QTSERIALPORT_BUILD_ROOT/include $$QTSERIALPORT_BUILD_ROOT/include/QtSerialPort

    QTSERIALPORT_BUILD_SUBDIR = src/serialport
    debug_and_release_target {
        CONFIG(debug, debug|release) {
            QTSERIALPORT_BUILD_SUBDIR = $$QTSERIALPORT_BUILD_SUBDIR/debug
        } else {
            QTSERIALPORT_BUILD_SUBDIR = $$QTSERIALPORT_BUILD_SUBDIR/release
        }
    }

    QMAKE_LIBDIR += $$QTSERIALPORT_BUILD_ROOT/$$QTSERIALPORT_BUILD_SUBDIR
}

mac {
    LIBS -= -framework QtSerialPort$${QT_LIBINFIX}

   if(!debug_and_release|build_pass):CONFIG(debug, debug|release) {
       LIBS += -lQtSerialPort$${QT_LIBINFIX}_debug
   } else {
       LIBS += -lQtSerialPort$${QT_LIBINFIX}
   }
}

編輯:

弄清楚我可以通過刪除結尾的d來更改文件名后,我意識到,內置的exe文件中包含的所有庫都包含不以'd.dll'結尾的文件,除了QtSerialPortd .dll文件。

IE ldd上的調試.exe:

QtCored4.dll => /cygdrive/c/Qt/4.8.4/bin/QtCored4.dll (0x69cc0000)
QtGuid4.dll => /cygdrive/c/Qt/4.8.4/bin/QtGuid4.dll (0xf30000)
QtNetworkd4.dll => /cygdrive/c/Qt/4.8.4/bin/QtNetworkd4.dll (0x6cb40000)
QtSerialPortd.dll => /cygdrive/c/Qt/4.8.4/bin/QtSerialPortd.dll (0x63680000)

關於發行版.exe的ldd:

QtCore4.dll => /cygdrive/c/Qt/4.8.4/bin/QtCore4.dll (0x6e0c0000)
QtGui4.dll => /cygdrive/c/Qt/4.8.4/bin/QtGui4.dll (0x67700000)
QtNetwork4.dll => /cygdrive/c/Qt/4.8.4/bin/QtNetwork4.dll (0x65c80000)
QtSerialPortd.dll => /cygdrive/c/Qt/4.8.4/bin/QtSerialPortd.dll (0x63680000)

發布與調試,看起來QtSerialPortd.dll保持不變。 我猜測當我在其他計算機上嘗試此應用程序時,這將是有問題的。

我將Qt / 4.8.4 / lib / libQtSerialPortd.a的名稱更改為Qt / 4.8.4 / lib / libQtSerialPort.a。 現在建立。 不知道這是否會產生不利影響。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM