2009-10-25 5 views
2

Я пытаюсь создать объектный файл, который можно использовать на любом компьютере. Итак, что я сделал, это создать кучу функций и поместить их в файл .c. Используется gcc -c myfile.c, который создает myfile.o. (Я запускаю Windows XP и получил gcc от DevC++). Затем я создаю другую программу, которая использует мой объектный файл.Проблема при использовании объектного файла C (.o) на разных компьютерах

Все кажется прекрасным, кроме случаев, когда я пытаюсь скопировать файл .o и использовать его на другом ПК. Когда я копирую свой файл, который использует объектный файл, компилирует его и запускает, он просто дает окно, которое сообщает мне об ошибке, и если я хочу отправить отчет об ошибке.

Когда я пытаюсь перекомпилировать файл .c файла моего объектного файла на другом ПК и перезапустить программу, он работает.

Так что я не понимаю, почему я не могу просто скомпилировать файл .o один раз на одном компьютере, скопировать его на другой компьютер и создать программу, которая использует тот же объектный файл, не перекомпилируя файл объекта ,

Спасибо!

ответ

1

Почему вы не изучаете создание общей библиотеки для перемещения объектного кода? (.so или .dll)

+0

Как отличается объект общей библиотеки от обычного объекта? – Paul

+0

В основном это включает в себя дополнительную информацию, позволяющую проще перемещать код. http://tldp.org/HOWTO/Program-Library-HOWTO/shared-libraries.html http://en.wikipedia.org/wiki/Shared_library#Shared_libraries – chotchki

3

Скорее всего, это связано с тем, что вы используете разные библиотеки C. Попробуйте использовать ту же самую версию gcc, установленную из того же пакета, на всех машинах.

Итак, вы используете версию gcc из DevC++, не смешивайте ее с другими gcc-пакетами как MinGW.

 Смежные вопросы

  • Нет связанных вопросов^_^