3 / 3 / 0
Регистрация: 29.06.2018
Сообщений: 1,137
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
1 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Компиляция консольных программ и приложений с формой в Embarcadero BCC10227.08.2018, 22:26. Просмотров 1381. Ответов 5
Метки нет Все метки)
(
Компиляция консольных программ и приложений с формой в Embarcadero BCC102:
с какими аргументами можно скомпилировать программы (-L , -w ?) 1) оконное: winapi.cpp (из интернета, может, с багами )
simple.cpp
Из инструкции к ним для оконного плохо понятно, (в отличие от Borland freecommandline tools 5.5.1, -w для оконных ) ? Как подключать пути к библиотекам в bat-файле ? Плохо видит имеющийся windows.h . Добавлено через 2 минуты bcc32c.cfg содержит Код
-isystem @\..\include\dinkumware64 -isystem @\..\include\windows\crtl -isystem @\..\include\windows\sdk -L@\..\lib\win32c\debug -L@\..\lib\win32c\release -L@\..\lib\win32c\release\psdk -Xdriver -Qunused-arguments Мои варианты для старого компилятора 5.5.1 make_console.bat
Код
C:\BCC102\bin>cmd.exe Microsoft Windows [Version 6.1.7601] (c) Корпорация Майкрософт (Microsoft Corp.), 2009. Все права защищены. C:\BCC102\bin>bcc32c -h Embarcadero C++ 7.30 for Win32 Copyright (c) 2012-2017 Embarcadero Technologies, Inc. Available options (* = default setting, xxx = has sub-options: use -h -X): (Note: -X- or -w-XXX will usually undo whatever was set or unset by -X or -wXXX. If two options conflict, the last one specified will be used.) --sysroot (Note: -X- or -w-XXX will usually undo whatever was set or unset by -X or -wXXX. --sysinc Set the system include file search path (if specified, sysroot will be prepended) --syslib Set the system library file search path (if specified, sysroot will be prepended) --savemem Set maximum SAVEMEM memory (in Mb) (This is the contiguous memory allocated to store global symbols and similar constructs. Pre-compiled headers use this memory) --version Show compiler version --replacehdr Replace header name (e.g. --replaceHeader=a.h=b.h) --xrtti Generate extended rtti information -3 Generate 80386 protected-mode compatible instructions -4 Generate 80386/80486 protected-mode compatible instructions -5 Generate Pentium instructions -6 Generate Pentium Pro instructions -Axxx Enable ANSI conformance -B Compile to .ASM (-S), then assemble to .OBJ -Cxxx Enable nested comments -D -D<name> defines 'name' as a null string, or use -D<name>=<value> -E Specify which assembler to use -G Optimize for size/speed; use -O1 and -O2 instead -Hxxx Generate and use precompiled headers -I Set the include file search path -Jxxx Template generation options -K Set default character type to unsigned -L Library file search path -M Create a linker map file -N Hodgepodge of miscellanity (see -h -N) -Nd Macros get a value of "1" by default (-DX => -DX=1) -Nt GNU __typeof(var) support -Nv Allow void& as a valid type -O Optimize jumps -P Perform C++ compile regardless of source extension -Q Extended compiler error information -Rxxx Include browser information in generated .OBJ files -S Compile to assembly -T Specify assembler option, e.g. -Tx -U Undefine any previous definitions of name -Vxxx Compatibility options -W Target is a Windows application -X Disable compiler autodependency output -Y -Zd Output global defs as DocBook specs; to specify: -Zd=<file>.c -Zn Disable and/or don't define CodeGear builtins -Zx Output global definitions to XML file. Sub Options: -Zx=<filename> Emit only types/declarations in <filename> -Zxf[=filename] Skip base type members -Zxm[=filename] Emit macros -Zxp[=filename] Emit file & line position -axxx Set data alignment boundary. Default is -a8; -a- means -a1 -b Enable -bi and treat enums as ints from a typechecking point of view * -bi Make sizeof(enum x) == sizeof(int) unless explicitly stated otherwise -c Compile to object file only, do not link -d Merge duplicate strings -dc Put strings into the read-only data segment -dw Put strings into the (writeable) data segment -e Specify target executable pathname -ff Fast floating point -fp Correct Pentium FDIV flaw -fq Use quiet floating point compare instruction (FUCOMP) -g Stop batch compilation after n warnings (Default = 255) -h Request help ('-h -' shows all help). Can be specific: -h -V -i Set maximum significant identifier length (Default = 250) -j Stop batch compilation after n errors (Default = 50) -k Generate standard stack frames -l Pass options to the linker; example: -ls -l-x -m Generate makefile dependency information -md Put dependency info in .d files, not in the object file -mm Ignore system header files while generating dependency info -mo Specify the output file for dependency info -n Set output directory for object files -o Set output filename (-o<filename> or -o <filename> supported) -pxxx Use Pascal calling convention -q Suppress compiler identification banner -r Use register variables -rd Use register variables only when register keyword is employed -s Link using the system's non-incremental linker -t Specify target executable -u Generate underscores on symbol names -vxxx Turn on source debugging -w Display all warnings -w! Return non-zero from compiler on warnings -xxxx Enable exception handling -y Debug line numbers on -z Options for redefining standard segment names Use '-h <OPT>' for help on a specific option, or '-h -' to see all available options. C:\BCC102\bin>bcc32x -tW sinwave.cpp Embarcadero C++ 7.30 for Win32 Copyright (c) 2012-2017 Embarcadero Technologies, Inc. sinwave.cpp: Turbo Incremental Link 6.90 Copyright (c) 1997-2017 Embarcadero Technologies, In c. C:\BCC102\bin> Добавлено через 18 минут creategui.bat
1
|
|
27.08.2018, 22:26 | |
Русификация консольных приложений Компиляция консольных приложений VC 6.0 Разработка консольных приложений Нужен отладчик консольных приложений
__________________
5
Помогаю в написании студенческих работ здесь. Записывайтесь на профессиональные курсы C++ разработчиков |
|
218 / 15 / 0
Регистрация: 15.08.2016
Сообщений: 28
|
||||||
29.12.2019, 16:37 | 2 | |||||
Хочу добавить важное замечание к этой версии 10.2 (bcc32c.exe C++ 7.30)
Речь про бесплатный дистрибутив отсюда: https://www.embarcadero.com/ru... /thank-you, ФАЙЛ BCC102.zip последовательность действий: пусть есть пример консольного MAIN.C
и это есть текущий каталог и там мы хотим получить .exe файл, а лог компиляции в файл -result- если попытаться скомпилировать это таким образом: Код
BIN\bcc32c.exe main.c >-result- 2>&1 Код
.\BIN\bcc32c.exe main.c >-result- 2>&1 Код
<полный путь>\BIN\bcc32c.exe main.c >-result- 2>&1 Embarcadero CLANG 7.30 Copyright (c) 2012-2017 Embarcadero Technologies, Inc. main.c: BCC32C.EXE: error: unable to execute command: program not executable BCC32C.EXE: error: linker command failed with exit code 1 (use -v to see invocation) Поиск в инете дал только это https://github.com/emscripten-... ssues/2203 где есть упоминание про link.exe почему то из Visual Studio (хотя такое имя действительно есть внутри bcc32c.exe). Если запустить FILEMON Марка Руссиновича, то он покажет, что идет поиск файлов с именами i686-pc-win32-ilink64.exe и ilink64.exe сначала в \SYSTEM32, потом у себя в \BIN и потом по всем каталогам в %PATH% что очень странно (почему именно эти файлы ищет?). опция -tC не помогает замена bcc32c.exe на bcc32x.exe не помогает если сделать вызов из .bat и предварительно выполнить это: Код
set CC_PRINT_OPTIONS=1 за решение спасибо USERPC01, и ведь не догадаться, что там так через Ж. сделано: суть: перед именем bcc32c.exe не должно быть никакого пути! не работает, даже если указать полный путь к bcc32c.exe Вот MAKE.BAT: Код
rem это работает set PATH=.\BIN;%PATH% rem это тоже работает (E:\TEST\102 - это где наш main.c и BIN, INCLUDE, LIB) rem set PATH=E:\TEST\102\BIN;%PATH% rem здесь перед именем bcc32c.exe не должно быть никакого пути! bcc32c.exe main.c >-result- 2>&1
0
|
3 / 3 / 0
Регистрация: 29.06.2018
Сообщений: 1,137
|
|||||||||||
01.01.2020, 15:31 [ТС] | 3 | ||||||||||
При компиляции выдает файл -result- (неправильные опции)
"bcc32c.exe"не является внутренней или внешней командой, исполняемой программой или пакетным файлом Может,так
Добавлено через 3 минуты А с линкером и .rc-файлами , чтобы иконку или меню приложения в проводнике для виндовсных приложений ,например , вшить ?
0
|
Заблокирован
|
||||||||||||||||
01.01.2020, 16:06 | 4 | |||||||||||||||
Ужас, что вы делаете.
Makefile
Вот "Makefile" с "*.RC"
1
|
218 / 15 / 0
Регистрация: 15.08.2016
Сообщений: 28
|
|
02.01.2020, 11:54 | 6 |
Есть стандартный поток вывода (stdout) и есть стандартный поток ошибок (stderr). Раньше компиляторы от Borland выводили все сообщения в stdout и достаточно было перенаправить его в файл командой >result.txt. В этой версии обычные сообщения идут в stdout, а ошибки в stderr. Если мы хотим ВСЕ сообщения (обычные и об ошибках) вывести в файл, то надо перенаправить ОБА потока (stdout и stderr) в файл. Как? Командой '>result.txt' мы перенаправляем stdout (это поток с условным номером 1) в файл result.txt, а потом командой '2>&1' мы перенаправляем stderr (это поток с условным номером 2) в поток с условным номером 1 (а это stdout уже перенаправленный в файл result.txt). Как итог: оба потока перенаправлены в файл. Порядок перенаправлений нужно оставить именно такой!
0
|
02.01.2020, 11:54 | |
Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь или здесь.
Какой прок от консольных приложений? Объединение двух консольных приложений Идеи для консольных приложений Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |