English 中文(简体)
qmake: How do I copy .dll/.so s to the output directory?
原标题:
  • 时间:2009-11-16 07:01:35
  •  标签:
  • qt
  • qmake

I have a Qt-project that builds a dll/shared-library and another Qt-project that tests the library.

Is there any good way to have qmake copy the dll to the output-folder of the test-project?

最佳回答

Add this to your pro file:

target.path = ../testProject/$$TARGET
INSTALLS += target 
问题回答
# Copy the dynamic library.
win32 {
   QMAKE_PRE_LINK=copy /Y libqextserialportsrcuildqextserialportd.dll debug & copy /Y libqextserialportsrcuildqextserialport.dll release
}
else {
   # TODO: Unices
}

This works, for the QextSerialPort library. Supports Qt s debug_and_release mode.

QMAKE_POST_LINK also works, but will throw an error if you re trying to run the app immediately: then your .dll will be copied too late. QMAKE_PRE_LINK does copy it in time.

I use INSTALLS, like so. (qmake documentation)

This may not be a good way but it may do the trick.

QMAKE_POST_LINK += some shell command to copy the dll

You can use DESTDIR keyword as it is said in qmake files documetation in Qt 4.

QMAKE_POST_LINK += $$QMAKE_COPY $$quote("yourSrcDiryour.dll") $$quote($$IN_PWD) $$escape_expand(\n\t)




相关问题
Qt: Do events get processed in order?

If I had a class A, where one of its functions does: void A::func() { emit first_signal(); emit second_signal(); } Assuming that a class B has 2 slots, one connected to first_signal, and the ...

How to determine how much free space on a drive in Qt?

I m using Qt and want a platform-independent way of getting the available free disk space. I know in Linux I can use statfs and in Windows I can use GetDiskFreeSpaceEx(). I know boost has a way, ...

Drag & drop with .ui files

I m having big troubles with drag & drop. I ve created a new Qt Designer Form Class in which I have one QListWidget and one QWidget. Now I want to enable dragging & dropping between these two ...

Link errors on Snow Leopard

I creating a small desktop application using Qt and Poco on Mac OS X Snow Leopard. Qt works fine, but once I started linking with Poco I get the following warning: ld: warning: in /Developer/SDKs/...

Showing two windows in Qt4

My friend and I have each created parts of a GUI using Qt 4. They both work independently and I am trying to integrate his form with the my main window. As of now this is the code I am using to try ...

Qt equivalent of .NET data binding?

Is there an equivalent of .NET s data binding in Qt? I want to populate some combo boxes and other widgets with QStrings that refer to specific entities in my database. However, it would be cleaner ...

热门标签