Перейти к содержимому

Фото
- - - - -

Проблема с кроссплатформенной компиляцией


  • Вы не можете создать новую тему
  • Please log in to reply
5 ответов в этой теме

#1 3test

3test
  • Новобранец
  • 3 сообщений
  • Откуда:Киев

Отправлено 16 Декабрь 2005 - 15:46

Мне нужно откомпилировать программу на AMD64 с FreeBSD 6.0-STABLE, что б она работала на 32-битном процессоре на FreeBSD 5.3-RELEASE-p15...
При компиляции с такими параметрами
>g++ -c -m32 tsour.cpp -o tsour.o

возникают ошибки:

In file included from /usr/include/c++/3.4/bits/stl_algobase.h:69,
                 from /usr/include/c++/3.4/bits/char_traits.h:46,
                 from /usr/include/c++/3.4/ios:46,
                 from /usr/include/c++/3.4/ostream:45,
                 from /usr/include/c++/3.4/iostream:45,
                 from tsour.cpp:2:
/usr/include/c++/3.4/new:82: error: .operator new' takes type .size_t' (.unsigned int') as first parameter
/usr/include/c++/3.4/new:83: error: .operator new' takes type .size_t' (.unsigned int') as first parameter
/usr/include/c++/3.4/new:86: error: .operator new' takes type .size_t' (.unsigned int') as first parameter
/usr/include/c++/3.4/new:87: error: .operator new' takes type .size_t' (.unsigned int') as first parameter
/usr/include/c++/3.4/new:92: error: .operator new' takes type .size_t' (.unsigned int') as first parameter
/usr/include/c++/3.4/new:93: error: .operator new' takes type .size_t' (.unsigned int') as first parameter

Содержание /usr/include/c++/3.4/new:

82:void* operator new(std::size_t) throw (std::bad_alloc);
83:void* operator new[](std::size_t) throw (std::bad_alloc);

86:void* operator new(std::size_t, const std::nothrow_t&) throw();
87:void* operator new[](std::size_t, const std::nothrow_t&) throw();

92:inline void* operator new(std::size_t, void* __p) throw() { return __p; }
93:inline void* operator new[](std::size_t, void* __p) throw() { return __p; }
Не подскажете в чем здесь проблема?
  • 0

#2 V^v

V^v
  • Пользователь
  • 316 сообщений

Отправлено 23 Декабрь 2005 - 13:15

покажи tsour.cpp
  • 0
int main(void)

#3 3test

3test
  • Новобранец
  • 3 сообщений
  • Откуда:Киев

Отправлено 28 Декабрь 2005 - 17:32

покажи tsour.cpp

Просмотреть сообщение


Примерно так:
#include<iostream>

using namespace std;

int main() {

    cout<<"test"<<endl;

    return 0;
}

  • 0

#4 V^v

V^v
  • Пользователь
  • 316 сообщений

Отправлено 28 Декабрь 2005 - 20:52

возможно есть ошибки в установке компилятора, или же он не настроен для опции -m32, что странно, так как она вроде по умолчанию. что выдает gcc -v?
  • 0
int main(void)

#5 3test

3test
  • Новобранец
  • 3 сообщений
  • Откуда:Киев

Отправлено 29 Декабрь 2005 - 15:32

что выдает gcc -v?

gcc -v
Using built-in specs.
Configured with: FreeBSD/amd64 system compiler
Thread model: posix
gcc version 3.4.4 [FreeBSD] 20050518

  • 0

#6 V^v

V^v
  • Пользователь
  • 316 сообщений

Отправлено 29 Декабрь 2005 - 15:38

попробуй переустановить gcc, хотя не уверен, что поможет. у меня нет амд64, так что проверить не могу :(
  • 0
int main(void)