OberonCore

Библиотека  Wiki  Форум  BlackBox  Компоненты  Проекты
Текущее время: Четверг, 28 Март, 2024 14:50

Часовой пояс: UTC + 3 часа




Начать новую тему Ответить на тему  [ Сообщений: 23 ]  На страницу Пред.  1, 2
Автор Сообщение
 Заголовок сообщения: Re: XDS-C Как компилировать?
СообщениеДобавлено: Среда, 20 Июнь, 2018 17:59 

Зарегистрирован: Вторник, 22 Май, 2007 15:38
Сообщения: 220
Откуда: Питер
Н-дааа...

Хелло ворлд я скомпилировал. Не подскажите, как делать нативные приложения для Win64?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: XDS-C Как компилировать?
СообщениеДобавлено: Среда, 20 Июнь, 2018 20:02 

Зарегистрирован: Вторник, 26 Январь, 2010 09:31
Сообщения: 717
Откуда: Барнаул
GameHunter писал(а):
Н-дааа...

Хелло ворлд я скомпилировал. Не подскажите, как делать нативные приложения для Win64?

Код:
MODULE Program;
BEGIN
    TRACE( "Hello, World!", 2018 );
END Program.

    System.DoCommands
    Compiler.Compile Program.Mod ~
    Linker.Link --fileFormat=PE64CUI --fileName=program.exe --extension=GofWw --displacement=401000H
        Builtins Trace Kernel32 Heaps Modules Objects Kernel KernelLog Streams Commands Files WinFS Clock Dates Reals Strings Diagnostics BitSets
        StringPool ObjectFile GenericLinker Reflection Loader Traps Program ~

    FSTools.CloseFiles program.exe ~
    ~~


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: XDS-C Как компилировать?
СообщениеДобавлено: Суббота, 30 Июнь, 2018 07:35 
Аватара пользователя

Зарегистрирован: Четверг, 08 Октябрь, 2009 15:00
Сообщения: 3774
Чтобы XDS 2.6 хорошо работал на x64 надо добавить ключ -m32 в шаблон для сборки.
/usr/local/xds/bin/xc.tem
чтобы стало вот так:
Код:
...
!else
  ! "$(TARGET) : $(OBJ) $(XDSLIB)\n"
  !if (env_target="x86linux") then
    ! "\tgcc $(LFLAGS) -o $(TARGET) $(OBJ) $(XLIBS) $(TSLIBS) $(XDSLIB) $(XMACLIBS) -lm -lncurses -m32\n"
  !elsif (env_target="linux") or (env_target="aix") then
    ! "\tgcc $(LFLAGS) -o $(TARGET) $(OBJFF) $(OBJ) $(XLIBS) $(XDSLIB) -lm -m32\n"
  !else
    ! "\tcc $(LFLAGS) -o $(TARGET) $(OBJ) $(XLIBS) $(XDSLIB) -lm -m32\n"
  !end
!end
...


тогда без проблем проходит команда xc =m hello.ob2:
Код:
dia@lenovo:/usr/local/xds/samples/oberon$ xc =m hello.ob2
O2/M2 development system v2.60 TS  (c) 1991-2011 Excelsior, LLC. (build 03.02.2012)
XDS Oberon-2 v2.40 [x86, v1.50] - build 03.02.2012
Compiling "hello.ob2"
no errors, no warnings, lines    8, time  0.00
gcc  -o hello hello.o  /usr/local/xds/lib/x86/libts.a /usr/local/xds/lib/x86/libxds.a  -lm -lncurses -m32


Результат:
Код:
dia@lenovo:/usr/local/xds/samples/oberon$ ./hello
Привет мир!!!


Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 23 ]  На страницу Пред.  1, 2

Часовой пояс: UTC + 3 часа


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 12


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Вся информация, размещаемая участниками на конференции (тексты сообщений, вложения и пр.) © 2005-2024, участники конференции «OberonCore», если специально не оговорено иное.
Администрация не несет ответственности за мнения, стиль и достоверность высказываний участников, равно как и за безопасность материалов, предоставляемых участниками во вложениях.
Без разрешения участников и ссылки на конференцию «OberonCore» любое воспроизведение и/или копирование высказываний полностью и/или по частям запрещено.
Powered by phpBB® Forum Software © phpBB Group
Русская поддержка phpBB