2009-10-23 2 views
1

Я хочу построить 64-битные библиотеки для некоторых из моих компонентов на C++. Требуется ли компилировать/связывать библиотеки в ОС, запущенной на физической машине напрямую? Или я могу использовать ОС, работающую как виртуальная машина на сервере ESX, для создания библиотек? Нужно ли мне заботиться о чем угодно, если я создаю виртуальную машину? Пожалуйста, советСоздание 64-битных библиотек

Меня интересовал 32/64bit для linux.

Заранее благодарен!

+0

Я думал, что вам просто нужно было скомпилировать его для 64-битного? Вам также нужно делать это на 64-битной машине? – Svish

+0

Я могу сделать это на любой машине, если я смогу это сделать. – vpram86

ответ

2

Если гостевая ОС 64-разрядная и у вас есть 64-разрядный компилятор, нет причин, по которым вы не можете скомпилировать и запустить 64-разрядную библиотеку/приложение в своей виртуализованной ОС.

+0

Будет ли он создавать какие-либо проблемы, если мы запустим его на физическом компьютере позже? – vpram86

+0

Во всех смыслах и целях ваши * * работают на 64-битном оборудовании, когда вы запускаете виртуализованную 64-битную ОС. Таким образом, двоичные файлы будут выполняться на физическом 64-разрядном оборудовании. Но вы должны быть уверены, что не используете специальную сборку компилятора которые могут иметь крючки в гипервизор. Это вряд ли произойдет, если вы используете что-то вроде компилятора GCC. – alexr

+0

Чрезвычайно много! – vpram86

1

В зависимости от компилятора (что вы используете?) Вам может потребоваться передать только нужные ему параметры, и он будет компилировать его там, где вы хотите - даже на 32-битной машине.

+0

У меня есть gcc 2.96 на 32-битной машине SuSE 7.3. Я использую его для 32-битного. Когда я попытался -m64, он не распознал флаг, а на другой машине он запрашивал 64-битные системные библиотеки. Я думал, что 32-битная возможность возможна в 64, но не наоборот. – vpram86

1

Это немного зависит от конкретной платформы. Например: в Windows я создаю 64-разрядные двоичные файлы на 32-разрядной машине (у меня есть 64-разрядный компилятор, установленный с VS) и убедитесь, что в целевой доступен правильный распространяемый пакет.

+0

Согласен. Я делаю то же самое. Мне было интересно узнать о Linux. Я отредактирую теги. – vpram86

+0

Вы используете multilib? См .: http://www.airs.com/ian/configure/configure_8.html – dirkgently

+0

Нет. Я не использую его. :( – vpram86

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