На главную Наши проекты:
Журнал   ·   Discuz!ML   ·   Wiki   ·   DRKB   ·   Помощь проекту
ПРАВИЛА FAQ Помощь Участники Календарь Избранное RSS
msm.ru
[!] Как относитесь к модерированию на этом форуме? Выскажите свое мнение здесь
  
> Компиляция из командной строки в C++Builder
    У меня есть готовый cpp-файл, который при компиляции в самом С++Builder создаёт dll-файл. Как мне сделать тоже самое только через командную строку (т.е создать dll-файл из исходного cpp-файла)?
      Help -> C++ Builder Command Line Tools, там раздел "The C++ compiler, BCC32.EXE"
        Ввожу 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)?
          tolkon89,
          ExpandedWrap disabled
            bcc32 -tWD -I"тут_укажи_путь_к_папке_include" -e"mydll.dll" mydll.cpp
            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>).
              У тебя чего, путь к Builder-у не прописан в PATH? Тогда придется тебе еще добавлять -L"путь_к_библиотекам", то есть, к папке lib
                Спасибо!
                  Появилась ещё одна проблема :huh:
                  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-ка не создаётся... :wall:
                    Почитай что-нибудь про escape-последовательности в C/C++
                      Почитал, не помогло... Раньше для вывода в файл символа " использовал \",но в 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);
                        tolkon89, бэкслеши кто дублировать будет?

                        Вот так должно быть:
                        ExpandedWrap disabled
                          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);
                          ОГРОМНОЕ СПАСИБО, volvo877!
                          0 пользователей читают эту тему (0 гостей и 0 скрытых пользователей)
                          0 пользователей:


                          Рейтинг@Mail.ru
                          [ Script execution time: 0,2165 ]   [ 16 queries used ]   [ Generated: 18.09.24, 23:31 GMT ]