
![]() |
Наши проекты:
Журнал · Discuz!ML · Wiki · DRKB · Помощь проекту |
|
ПРАВИЛА | FAQ | Помощь | Поиск | Участники | Календарь | Избранное | RSS |
[3.133.111.249] |
![]() |
|
Сообщ.
#1
,
|
|
|
У меня есть готовый cpp-файл, который при компиляции в самом С++Builder создаёт dll-файл. Как мне сделать тоже самое только через командную строку (т.е создать dll-файл из исходного cpp-файла)?
|
Сообщ.
#2
,
|
|
|
Help -> C++ Builder Command Line Tools, там раздел "The C++ compiler, BCC32.EXE"
|
Сообщ.
#3
,
|
|
|
Ввожу BCC32 mydll.cpp
В результате получаю ошибки: unable to open include file <vcl.h> unable to open include file <math.h> unable to open include file <windows.h> declaration syntax error Как задать такие параметры или как изменить bcc32.cfg, чтобы этого небыло (учитывая, что выходной файл в формате dll)? |
![]() |
Сообщ.
#4
,
|
|
tolkon89,
![]() ![]() bcc32 -tWD -I"тут_укажи_путь_к_папке_include" -e"mydll.dll" mydll.cpp |
Сообщ.
#5
,
|
|
|
bcc32 -tWD -I"C:\Program_Files\Borland\CBuilder6\Include" -I"C:\Program_Files\Borland\CBuilder6\Include\Vcl" -e"mydll.dll" mydll.cpp
Ошибка такая: Fatal: Unable to open file 'COD32.OBJ' Если не вводить -I"C:\Program_Files\Borland\CBuilder6\Include\Vcl", то всего одна ошибка (unable to open include file <vcl.h>). |
![]() |
Сообщ.
#6
,
|
|
У тебя чего, путь к Builder-у не прописан в PATH? Тогда придется тебе еще добавлять -L"путь_к_библиотекам", то есть, к папке lib
|
Сообщ.
#7
,
|
|
|
Спасибо!
|
Сообщ.
#8
,
|
|
|
Появилась ещё одна проблема
![]() WinExec("bcc32 -tWD -I\"C:\Program Files\Borland\CBuilder6\Include\" -I\"C:\Program Files\Borland\CBuilder6\Include\Vcl\" -L\"C:\Program Files\Borland\CBuilder6\Lib\" -L\"C:\Program Files\Borland\CBuilder6\Lib\Debug\" -e\"J:\Prog\mydll.dll\" J:\Prog\mydll.cpp",SW_RESTORE); Через командную строку всё компилируется, а в WinExec не хочет. Проблема в дополнительных кавычках. Попытался обойти, поставив перед внутренними кавычками \, но, к сожалению, в этом случае dll-ка не создаётся... ![]() |
Сообщ.
#9
,
|
|
|
Почитай что-нибудь про escape-последовательности в C/C++
|
Сообщ.
#10
,
|
|
|
Почитал, не помогло... Раньше для вывода в файл символа " использовал \",но в WinExec, по всей видимости это не работает.
Кому не сложно исправте пожалуйста строку WinExec("bcc32 -tWD -I\"C:\Program Files\Borland\CBuilder6\Include\" -I\"C:\Program Files\Borland\CBuilder6\Include\Vcl\" -L\"C:\Program Files\Borland\CBuilder6\Lib\" -L\"C:\Program Files\Borland\CBuilder6\Lib\Debug\" -e\"J:\Prog\mydll.dll\" J:\Prog\mydll.cpp",SW_RESTORE); |
![]() |
Сообщ.
#11
,
|
|
tolkon89, бэкслеши кто дублировать будет?
Вот так должно быть: ![]() ![]() WinExec("bcc32 -tWD -I\"C:\\Program Files\\Borland\\CBuilder6\\Include\" -I\"C:\\Program Files\\Borland\\CBuilder6\\Include\\Vcl\" -L\"C:\\Program Files\\Borland\\CBuilder6\\Lib\" -L\"C:\\Program Files\\Borland\\CBuilder6\\Lib\\Debug\" -e\"J:\\Prog\\mydll.dll\" J:\\Prog\\mydll.cpp", SW_RESTORE); |
Сообщ.
#12
,
|
|
|
ОГРОМНОЕ СПАСИБО, volvo877!
|