Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.80/35: Рейтинг темы: голосов - 35, средняя оценка - 4.80
 Аватар для Справлюсь
76 / 36 / 17
Регистрация: 24.07.2014
Сообщений: 357

Компиляция с использованием батника

27.08.2015, 11:11. Показов 6864. Ответов 4
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
раньше использовал IDE (Visual Studio 2010 потом 2012) но в определённый момент понадобилось компилировать с использованием батника. решил начинать с простого: создаю bat-file с таким кодом:
Code
1
2
"C:\Program Files\Microsoft Visual Studio 12.0\VC\bin\cl.exe" -GX "Batnic.cpp"  
pause
текст взял у Шилдта.
вот cpp:
C++
1
2
3
4
5
#include <iostream>
 
int main(){
    cout << "Hello World!!!";
}
но компилятор отвечает:

как мне указывать путь поиска включаемых файлов?
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
27.08.2015, 11:11
Ответы с готовыми решениями:

Определение статуса программы (запущена или нет) с использованием батника
Мне необходимо определить статус программы (запущена она или нет) с помощью батника. Мне нужны команды.

Проблема с русскими именами файлов при архивации их с использованием 7z.exe с помощью батника
Когда в батнике test.cmd чтонить архивируешь с русскими буквами, то 7z выдает вывод в крякозябрах chcp 1251 &quot;C:\Program...

PID исполняемого батника, активация окна батника
Много здесь чего перечитал, но точного ответа не нашел... Собственно, как узнать PID &quot;самого себя&quot;, т.е. исполняемого в...

4
2393 / 1922 / 763
Регистрация: 27.07.2012
Сообщений: 5,562
27.08.2015, 11:45
Посмотри как выглядит командная строка для компилятора в самой IDE. В настройках проекта должно быть.
0
 Аватар для Справлюсь
76 / 36 / 17
Регистрация: 24.07.2014
Сообщений: 357
28.08.2015, 11:04  [ТС]
John Prick, самой командной строки не нашел, но во вкладке "Проект -> свойства -> свойства конфигурации -> C/C++ -> командная строка" дает параметры командной строки:
Code
1
/GS /analyze- /W3 /Zc:wchar_t /ZI /Gm /Od /sdl /Fd"Debug\vc120.pdb" /fp:precise /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_LIB" /D "_UNICODE" /D "UNICODE" /errorReport:prompt /WX- /Zc:forScope /RTC1 /Gd /Oy- /MDd /Fa"Debug\" /EHsc /nologo /Fo"Debug\" /FAs /Fp"Debug\Студент.pch"
но они мне не подходят т.к. используют файлы
"Debug\Студент.pch"
.
я конечно могу создавать проект в студии а потом компилить батником но по моему это довольно трудновато .

Добавлено через 1 минуту
"Студент" - это имя проекта который я создавал в студии.
0
 Аватар для Справлюсь
76 / 36 / 17
Регистрация: 24.07.2014
Сообщений: 357
31.08.2015, 06:58  [ТС]
Какую информацию еще предоставить?
0
Эксперт С++
 Аватар для hoggy
8973 / 4319 / 960
Регистрация: 15.11.2014
Сообщений: 9,760
31.08.2015, 12:02
Цитата Сообщение от Справлюсь Посмотреть сообщение
я конечно могу создавать проект в студии а потом компилить батником но по моему это довольно трудновато .
это намного проще, чем то, что вы пытаетесь сделать.

пример такого батничка:

Bash
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
echo off
 
cls
 
echo [MSVC] Visual Studio 2013 building ...
 
if not exist "_msvc12" (
    echo [EXTRACT]
    call _fromArchive.bat
) ELSE (
    echo [EXTRACT] NOT REQUIRED
)
 
 
if not exist "%VS120COMNTOOLS%"vsvars32.bat (
    echo error: Visual Studio 2013 not founded
    exit
)
 
 
 
rem if not exist ..\include\libpq (
rem     xcopy /y /s /e /i src\include ..\include\libpq
rem ) ELSE (
rem     echo [MSVC] copy headers libpq : NOT REQUIRED
rem )
 
 
call "%VS120COMNTOOLS%"vsvars32.bat
 
devenv _msvc12\libpqxx.sln /build "Release|Win32" 
devenv _msvc12\libpqxx.sln /build "Debug|Win32"
 
devenv _msvc12\libpqxx.sln /build "Release|x64"
devenv _msvc12\libpqxx.sln /build "Debug|x64"
 
 
 
echo [MSVC] FINISHED !

конкретно вас инетересуют только строки:
Bash
1
2
3
4
if not exist "%VS120COMNTOOLS%"vsvars32.bat (
    echo error: Visual Studio 2013 not founded
    exit
)
здесь, "%VS120COMNTOOLS%"vsvars32.bat
это путь к батничку, который поставляется вместе с вашей студией.
он настраивает все необходимое окружение среды.

примечание:
для visual studio 2012, путь к батнику будет:
"%VS110COMNTOOLS%"vsvars32.bat


все что вам нужно - это запустить его.

Bash
1
call "%VS120COMNTOOLS%"vsvars32.bat
собственно все.
окружение полностью настроенно.
скажем спасибо майкрасофт за наше счастливое деццтво!


далее осуществляется непосредственно сборка:

Bash
1
2
3
4
5
devenv _msvc12\libpqxx.sln /build "Release|Win32" 
devenv _msvc12\libpqxx.sln /build "Debug|Win32"
 
devenv _msvc12\libpqxx.sln /build "Release|x64"
devenv _msvc12\libpqxx.sln /build "Debug|x64"

здесь вы указываете путь к солюшену вашего проекта,
а далее ключик, и конфигурацию.

-------------------------------------------------------------------------------

на самом деле всяких разных опций достаточно много.
из командной строки можно выполнять весьма замороченные сборки.
студийный проект очень хорошо кастомизируется.

однако, представленного батничка обычно хватает за глаза в 99%
5
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
31.08.2015, 12:02
Помогаю со студенческими работами здесь

Компиляция с использованием luajit
как компилировать с помощью luajit?

Компиляция JS-файлов с использованием UglifyJS
Сабж скрипта вот. Файлы находит исправно. А команду выполнять не желает. Код: @echo off SET ext=*.js FOR /f...

Компиляция проекта на Qt с использованием библиотеки opencv
Компилировал проект с гитхаба. Выдал вот такую ошибку при компиляции. use of undeclared identifier 'CV_LOAD_IMAGE_COLOR' В...

Компиляция программы с использованием морфолог модулей
Здравия! есть работающая программа с морф.модулем (АОТ, rml) (стат анализ частей речи), подключены библиотеки лемматизера. Компилируется...

Компиляция библиотеки boost с использованием mingw под винду
В общем-то возникла следующая задача: прикрутить boost к С++ для работы с модулем asio (среда Qt c мингвой 4.4 собственно) Почитал...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Новые блоги и статьи
Ритм жизни
kumehtar 27.02.2026
Иногда приходится жить в ритме, где дел становится всё больше, а вовлечения в происходящее — всё меньше. Плотный график не даёт вниманию закрепиться ни на одном событии. Утро начинается с быстрых,. . .
SDL3 для Web (WebAssembly): Сборка библиотек SDL3 и Box2D из исходников с помощью CMake и Emscripten
8Observer8 27.02.2026
Недавно вышла версия SDL 3. 4. 2 библиотеки SDL3. На странице официальной релиза доступны исходники, готовые DLL (для x86, x64, arm64), а также библиотеки для разработки под Android, MinGW и Visual. . .
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование . \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json> Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом. # Check if. . .
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так: https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347 Основана на STM32F303RBT6. На борту пять. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru