![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Форумчанин
Регистрация: 07.10.2008
Сообщений: 213
|
![]()
Подскажите, пожалуйста, каким образом можно запустить с помощью кода на Delphi компиляцию кода на С/C++ , естественно при условии,что на компьютере уже имеется Сишный компилятор (допустим,если установлены Visual Studio или Code::Blocks или Watcom). Конкретно не могу сказать какой компилятор, т.к. подойдет любой вариант. Заранее спасибо за предложенные решения.
|
![]() |
![]() |
![]() |
#2 |
Android Developer
Старожил Подтвердите свой е-майл
Регистрация: 19.02.2007
Сообщений: 3,708
|
![]()
Программно в коде на Delphi построить цепочку сборки проекта на C++, какие и куда параметры писать и как сохранять пишется в документации компилятора, а вы уже только следуете этим указаниям.
|
![]() |
![]() |
![]() |
#3 | |
Участник клуба
Регистрация: 21.03.2010
Сообщений: 1,508
|
![]() Цитата:
![]() |
|
![]() |
![]() |
![]() |
#4 |
Форумчанин
Регистрация: 07.10.2008
Сообщений: 213
|
![]()
Хм, вот не получается пока ничего.
Из командной строки компилирую файл с помощью двух строк: сначала %comspec% /k "C:\Program Files\Microsoft Visual Studio 9.0\VC\vcvarsall.bat" x86 затем cl /EHsc C:\file.cpp компиляция проходит успешно, объектный файл и экзешник появляются в папке пользователя C:\Пользователи\<Имя текущего пользователя> в Delphi пытаюсь выполнить эти же команды поочередно с помощью WinExec или ShellExecute, но ничего не происходит - команды выполняются, но файлов никаких не появляется. Последний раз редактировалось tools; 21.12.2010 в 19:32. |
![]() |
![]() |
![]() |
#5 |
Белик Виталий :)
Старожил
Регистрация: 23.07.2007
Сообщений: 57,097
|
![]()
А как? Покажи код. Возвращают ли какие-нить коды ошибок эти функции?
I'm learning to live...
|
![]() |
![]() |
![]() |
#6 |
Форумчанин
Регистрация: 07.10.2008
Сообщений: 213
|
![]()
Ну, например, так:
// в процедуре нажатия на кнопке Код:
В обоих случаях функции возвращают значение 2. В MSDN написано, что значение должно быть больше 31. Проблема остается пока нерешенной, помогите советом... Последний раз редактировалось tools; 23.12.2010 в 22:20. |
![]() |
![]() |
![]() |
#7 |
Форумчанин
Регистрация: 07.10.2008
Сообщений: 213
|
![]()
Действую указанным выше способом, получаю на выходе обоих функций значение 33, значит они выполняются успешно, но файлов объектных и исполнимых как не было, так и нету. Вставляю те же строки в командную строку вручную и все нормально выполняется, нужные файлы появляются в директории C:\Пользователи\<Имя текущего пользователя>
Подскажите, где собака зарыта. Видимо, ошибка в том,что создаются два отдельных процесса, а нужно в одном процессе в два потока. Последний раз редактировалось tools; 23.12.2010 в 22:59. |
![]() |
![]() |
![]() |
#8 |
Форумчанин
Регистрация: 07.10.2008
Сообщений: 213
|
![]()
В общем, проблему решил следующим образом:
Код:
Ключ /k не обязателен для команды cmd в данном случае, можно и /c поставить на его месте. |
![]() |
![]() |
![]() |
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Ошибка компиляции | Lokos | Общие вопросы Delphi | 3 | 07.10.2010 08:17 |
Ошибка компиляции | ImmortalAlexSan | C++ Builder | 3 | 20.12.2009 21:19 |
Ошибка компиляции С++ | jeka101 | Общие вопросы C/C++ | 3 | 27.03.2009 19:16 |
Директивы компиляции | joker | Общие вопросы Delphi | 3 | 10.06.2008 09:41 |
Опции компиляции | satana | Паскаль, Turbo Pascal, PascalABC.NET | 1 | 15.10.2007 16:49 |