Как использовать GNU ld с obj-файлом, скомпилированным в Rusc, без груза?Linux

Ответить Пред. темаСлед. тема
Anonymous
 Как использовать GNU ld с obj-файлом, скомпилированным в Rusc, без груза?

Сообщение Anonymous »

Я пытаюсь повторить каждый шаг процесса сборки, как описано здесь, с помощью Rusc, но без груза, следующим образом:
$ /home/foo/rustc_source/installed/usr/local/bin/rustc -v -g -C opt-level=0 --emit obj main.rs

Предыдущий шаг генерирует файл main.o, как и ожидалось.
Теперь я хотел бы связать его с другими необходимыми объектными файлами для создания исполняемого файла ELF. Я могу бежать. Я пытался сделать это с помощью следующего cmd, но безуспешно:
$ ld -o main.elf -Map=main.map /usr/lib/x86_64-linux-gnu/crti.o /usr/lib/x86_64-linux-gnu/crtn.o /usr/lib/x86_64-linux-gnu/crt1.o main.o

ld: /usr/lib/x86_64-linux-gnu/crt1.o: in function `_start':
(.text+0x21): undefined reference to `__libc_start_main'
ld: main.o: in function `std::rt::lang_start':
/home/foo/rustc_source/rust/library/std/src/rt.rs:194: undefined reference to `std::rt::lang_start_internal'
ld: main.o: in function `core::ops::function::FnOnce::call_once':
/home/foo/rustc_source/rust/library/core/src/ops/function.rs:250: undefined reference to `_Unwind_Resume'
ld: main.o: in function `main::main':
/media/foo/main.rs:2: undefined reference to `std::io::stdio::_print'
ld: main.o:(.data.DW.ref.rust_eh_personality[DW.ref.rust_eh_personality]+0x0): undefined reference to `rust_eh_personality'

Информация о моей системе/окружении:
$ lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description: Ubuntu 22.04.4 LTS
Release: 22.04
Codename: jammy
$ uname -r
6.5.0-44-generic
$ /home/foo/rustc_source/installed/usr/local/bin/rustc --version
rustc 1.84.0-nightly (32b17d56e 2024-10-28)


Подробнее здесь: https://stackoverflow.com/questions/793 ... hout-cargo
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение
  • Можно ли в Odoo установить модуль с скомпилированным файлом Python?
    Anonymous » » в форуме Python
    0 Ответы
    20 Просмотры
    Последнее сообщение Anonymous
  • Intellij Idea Runtime Classpath Inclusion в Hotreplace скомпилированным файлом типовойписа
    Anonymous » » в форуме JAVA
    0 Ответы
    2 Просмотры
    Последнее сообщение Anonymous
  • Необъявленный идентификатор «nullptr» и ошибка Obj-C при использовании библиотеки Obj-C в Swift
    Anonymous » » в форуме C++
    0 Ответы
    43 Просмотры
    Последнее сообщение Anonymous
  • «equals(Object obj)» следует переопределить вместе с методом «compareTo(T obj)».
    Anonymous » » в форуме JAVA
    0 Ответы
    38 Просмотры
    Последнее сообщение Anonymous
  • C++ QT Копирование объектов QList в другой QList
    Anonymous » » в форуме C++
    0 Ответы
    25 Просмотры
    Последнее сообщение Anonymous

Вернуться в «Linux»