Как скомпилировать файл .cpp только в объектный файл без вызова компоновщика?C++

Программы на C++. Форум разработчиков
Anonymous
Как скомпилировать файл .cpp только в объектный файл без вызова компоновщика?

Сообщение Anonymous »

Я пытаюсь скомпилировать один файл .cpp отдельно от процесса сборки.
Если я выполняю полную сборку, то результаты этапа компиляции выводятся в каталог, настроенный при создании проекта. .
Однако, если я просто запрошу компиляцию, объектный файл окажется в том же каталоге, что и исходный код. Хуже того, он продолжает связывать объектный файл с исполняемым файлом, когда он якобы выполняет компиляцию.
Обратите внимание: я компилирую с помощью clang++ для C++11, но я этого не делаю. думаю, что есть какие-либо запреты на то, почему он вызывает Clang++.exe второй раз для связывания, которое не было запрошено.
При сборке он делает следующее:

Код: Выделить всё

-------------- Build: Debug in GOTW (compiler: GNU GCC Compiler)---------------

clang++.exe -Wall -fexceptions  -g  -std=c++11 -stdlib=libstdc++    -c
C:\Work\test\2010\C++11\CLang\GOTW\gotw.cpp -o obj\Debug\GOTW.o
clang++.exe  -o bin\Debug\GOTW.exe obj\Debug\GOTW.o
Output size is 203.50 KB
Process terminated with status 0 (0 minutes, 11 seconds)
0 errors, 6 warnings (0 minutes, 11 seconds)
Тем не менее, когда выполняется компиляция текущего файла, происходит следующее:

Код: Выделить всё

clang++.exe -std=c++11 -stdlib=libstdc++    -c GOTW.cpp -o GOTW.o
1 warning generated.
clang++.exe  -o GOTW.exe GOTW.o
Я не понимаю, почему он выводит второй шаг, а также как заставить его использовать каталоги obj и bin, как это делает сборка.

Подробнее здесь: https://stackoverflow.com/questions/166 ... the-linker

Вернуться в «C++»