Boost. errors
От: Annette  
Дата: 28.08.10 06:01
Оценка: :)
Собрала Boost 1.4.4.
На этапе подключения (.hpp) выдает 2 ошибки:
error C3389: __declspec(dllexport) cannot be used with /clr:pure or /clr:safe
error C3395: 'boost::serialization::void_cast_register' : __declspec(dllexport) cannot be applied to a function with the __clrcall calling convention
отсылает к void_cast_fwd.hpp.
Сдается мне, что всё дело в ненативности windows forms (судя по тому, что студия пишет... На одном форуме нашла. что весь проект должен быть 100% нативен, это обязательное требование?? или его можно обойти? )
Подключаю к unmanaged классу...

P.S.: # define ModuleExport __declspec(dllexport) не помогло...
Re: Boost. errors
От: fdn721  
Дата: 28.08.10 15:25
Оценка:
Здравствуйте, Annette, Вы писали:

A>Собрала Boost 1.4.4.

A>На этапе подключения (.hpp) выдает 2 ошибки:
A>error C3389: __declspec(dllexport) cannot be used with /clr:pure or /clr:safe
A>error C3395: 'boost::serialization::void_cast_register' : __declspec(dllexport) cannot be applied to a function with the __clrcall calling convention
A>отсылает к void_cast_fwd.hpp.
A>Сдается мне, что всё дело в ненативности windows forms (судя по тому, что студия пишет... На одном форуме нашла. что весь проект должен быть 100% нативен, это обязательное требование?? или его можно обойти? )
A>Подключаю к unmanaged классу...

A>P.S.: # define ModuleExport __declspec(dllexport) не помогло...


Ну так русским же языком написано: cannot be used with /clr:pure or /clr:safe

Ставишь в настройках /clr:unsafe и используешь.

Boost + С++/CLI работает но иногда встречаются забавные баги.
Re[2]: Boost. errors
От: Annette  
Дата: 28.08.10 17:54
Оценка:
Здравствуйте, fdn721, Вы писали:

F>Здравствуйте, Annette, Вы писали:


A>>Собрала Boost 1.4.4.

A>>На этапе подключения (.hpp) выдает 2 ошибки:
A>>error C3389: __declspec(dllexport) cannot be used with /clr:pure or /clr:safe
A>>error C3395: 'boost::serialization::void_cast_register' : __declspec(dllexport) cannot be applied to a function with the __clrcall calling convention
A>>отсылает к void_cast_fwd.hpp.
A>>Сдается мне, что всё дело в ненативности windows forms (судя по тому, что студия пишет... На одном форуме нашла. что весь проект должен быть 100% нативен, это обязательное требование?? или его можно обойти? )
A>>Подключаю к unmanaged классу...

A>>P.S.: # define ModuleExport __declspec(dllexport) не помогло...


F>Ну так русским же языком написано: cannot be used with /clr:pure or /clr:safe


F>Ставишь в настройках /clr:unsafe и используешь.


F>Boost + С++/CLI работает но иногда встречаются забавные баги.


Спасибо, но в моей 2005 студии это не прокатывает
For this code to compile in Visual Studio 2005, in the Project menu select Properties > Build and then check "Allow Unsafe Code".
(в моей версии студии в свойствах проекта нет вкладки Build, а поиск в гугле кроме этого ничего иного не дал).
Извиняюсь еще за один не самый умный вопрос, мб с помощью изменений параметров компиляции можно достичь нужного эффекта???
Re[3]: Boost. errors
От: Мишень-сан  
Дата: 28.08.10 18:21
Оценка:
Здравствуйте, Annette, Вы писали:

A>Извиняюсь еще за один не самый умный вопрос, мб с помощью изменений параметров компиляции можно достичь нужного эффекта???


Возможно, Вы озвучите саму задачу?
P.S: исходя из моего сугубо личного опыта (пилил как-то небольшую библиотечку-переходник на С++/CLI) могу порекомендовать полностью отделить managed и unmanaged части и связать их чем-то вроде COM. .NET использует собственные механизмы сериализации и имеет собственный набор классов коллекций. Я бы не стал смешивать .NET и boost.
Re[4]: Boost. errors
От: Annette  
Дата: 28.08.10 18:43
Оценка: :)
Здравствуйте, Мишень-сан, Вы писали:

МС>Здравствуйте, Annette, Вы писали:


A>>Извиняюсь еще за один не самый умный вопрос, мб с помощью изменений параметров компиляции можно достичь нужного эффекта???


МС>Возможно, Вы озвучите саму задачу?

МС>P.S: исходя из моего сугубо личного опыта (пилил как-то небольшую библиотечку-переходник на С++/CLI) могу порекомендовать полностью отделить managed и unmanaged части и связать их чем-то вроде COM. .NET использует собственные механизмы сериализации и имеет собственный набор классов коллекций. Я бы не стал смешивать .NET и boost.

использовать хочу для решения несложных задач лин алгебры (пока!! в смысле на данном этапе), ну например для решения системы линейных уравнений, по-моему для таких несложных задач можно решить проблему проще (чем через связывание отдельных частей, как вы предлагаете; хотя не исключаю, что в более сложных случаях придется так именно и поступать....)
Re[5]: Boost. errors
От: minorlogic Украина  
Дата: 28.08.10 20:05
Оценка:
А разве в бусте есть решения систем линейных уравнений ?
... << RSDN@Home 1.2.0 alpha 4 rev. 1237>>
Ищу работу, 3D, SLAM, computer graphics/vision.
Re[6]: Boost. errors
От: Annette  
Дата: 28.08.10 21:55
Оценка:
Здравствуйте, minorlogic, Вы писали:

M>А разве в бусте есть решения систем линейных уравнений ?

Нашла кое-что http://osdir.com/ml/lib.mtl.devel/2004-09/msg00007.html
На правильность и пр. не проверяла, в виду описанных выше проблем...
Re[5]: Boost. errors
От: Мишень-сан  
Дата: 30.08.10 08:12
Оценка:
Здравствуйте, Annette, Вы писали:

A>использовать хочу для решения несложных задач лин алгебры (пока!! в смысле на данном этапе), ну например для решения системы линейных уравнений, по-моему для таких несложных задач можно решить проблему проще (чем через связывание отдельных частей, как вы предлагаете; хотя не исключаю, что в более сложных случаях придется так именно и поступать....)


Так может вам и не нужен интероп? Если задачи действительно простенькие, либо делайте всё на том же C# (нужно просто и быстро делать формочки), либо на С++ с использованием файлов для ввода-вывода. К сожалению, интероп между разными рантаймами дело как правило заморочное и нетривиальное. Вам бы чего попроще ИМХО.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.