У меня есть проект в QT, и я бы хотел использовать qmake для компиляции одного дополнительного файла cpp, который (в автономный исполняемый файл) никоим образом не связан с моим приложением или даже QT (это простая простая программа на C++). Есть ли способ сделать это, не воспрепятствуя всей структуре проекта? Нужен ли мне отдельный файл .pro
для каждого исполняемого файла или есть ли другой способ простого компиляции только одного простого C++-файла?qmake: скомпилировать один файл cpp в исполняемый файл
ответ
Чтобы сделать дополнительный исполняемый файл вы можете использовать использовать system()
в .pro так:
system(g++ otherapp.cpp)
который будет построен каждый раз, когда вы называете qmake
. Однако, если вы хотите автоматически создать дополнительное приложение при его изменении, используйте вместо этого QMAKE_EXTRA_TARGETS.
Как вы знаете qmake -project
будет сделать один .pro
файл с именем папки, содержащей все исходные и файлы заголовки, если вы QMAKE этого про файл, то make
вашего проект, вы получите скомпилированные .o
файл из нового файла CPP даже если он напрямую не связан с вашим проектом Qt.
, но если этот файл получил main()
функция, конечно, у вас будет несколько ошибок определения main() компилятором.
вам нужно будет восстановить этот файл, конечно
, как вы знаете, для простого составления только один стандартной равнины C++ файла, который вы только что
g++ source.cpp -o excutable_name.exe
для более строгой компиляции с двумя шагами:
g++ -Wall -pedantic -ansi source.cpp -c compiled_file_name.o
g++ compiled_file_name -o excutable_name.exe
, но если вы собираетесь использовать, например, код, относящийся к Qt, вы должны включить заголовки Qt и связать необходимые библиотеки:
g++ -Wall source.cpp -c compiled_file_name.o -L qt/library/path -lQtGui -lQtCore -lQtother_necessary_libraries -I Qt/include/path -I Qtother_necessary_include_paths
Я хотел бы сделать все, используя только одну команду ('qmake project.pro'), как это делает QT Creator (которую я использую для компиляции моего проекта). Возможно ли это без шаблона subdirs? – solusipse
вы хотите сделать компиляцию для одного простого файла C++ или нескольких файлов ?. если несколько сложных файлов вам лучше использовать инструменты make, такие как qmake или cmake, но если только один простой файл C++ вы можете просто использовать командную строку 'g ++' напрямую – Youssef
- 1. Скомпилировать все .cpp-файлы в один исполняемый файл?
- 2. Kivy: скомпилировать один исполняемый файл
- 3. быстро скомпилировать файл cpp
- 4. Скомпилировать статический файл в исполняемый файл
- 5. Скомпилировать текущий .cpp-файл VS2008
- 6. Как скомпилировать файл cpp gtest?
- 7. Скомпилировать автономный статический исполняемый файл
- 8. Как скомпилировать автономный исполняемый файл OpenCV?
- 9. Как скомпилировать несколько файлов cpp в один исполняемый файл, используя g ++, когда файлы взаимозависимы?
- 10. Как скомпилировать .cpp-файл в исполняемый файл Windows (.exe) в Linux
- 11. Скомпилировать один файл в проекте CMake?
- 12. Как скомпилировать проект C++/Cython в исполняемый файл?
- 13. Как скомпилировать исходный файл .cpp в .dll?
- 14. Как вставить файл licence.licx в исполняемый файл cpp?
- 15. Virtualenv в один исполняемый файл
- 16. pyqtgraph скомпилировать в исполняемый файл не удается
- 17. Скомпилировать один файл в QT Creator
- 18. Установка файлов с помощью qmake: как получить исполняемый файл тоже?
- 19. Программно скомпилировать сгенерированный файл .cpp с C#?
- 20. Cygwin: Скомпилировать файл cpp с тегом asm
- 21. Оберните исполняемый файл в другой исполняемый файл
- 22. Файл проекта Qmake
- 23. Один исполняемый файл с Py2Exe
- 24. py2exe - сгенерировать один исполняемый файл
- 25. Не удается скомпилировать исполняемый файл с CMake
- 26. Как скомпилировать простой многозагрузочный исполняемый файл barebeth2?
- 27. Как скомпилировать независимый исполняемый файл g ++?
- 28. Скомпилировать автономный исполняемый файл (.exe) в Visual Studio
- 29. Создать конфигурационный файл в исполняемый файл?
- 30. Проверьте исполняемый файл находится в PATH, используя QMAKE
QMAKE_EXTRA_TARGET - это то, что мне нужно. Мне также нужно было добавить цель в PRE_TARGETDEPS, и теперь все делается автоматически, когда QT Creator компилирует проект. Благодаря! – solusipse