Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Вопрос перевода проекта из С++Builder -> Visual Studio

38K
01 сентября 2012 года
grebenyk
15 / / 19.02.2009
Здравствуйте уважаемые.
Был изначально проект написанный под Бюилдер и все работало. Взял модули из него и вставил в Визуал Студию.
Повалило куча ошибок связанных с мат функциями начиная от M_PI заканчивая log10 и pow .
Я нашел всякие приколы обхода типа System::Math::Log10 , но остается вопрос как так может быть , что Visual Studio не понимает стандартных функций,
я уже стал подозревать , что где-то в настройках проекта надо включить , но к сожалению в книгах такого не встречал?
PS Когда применял stl тоже встрети странность- применение vector работает до момента применения алгоритмов max_element и min_element?
PSS Все math , cmath, math.h, cmath.h, namespec std, algorithm были опробованы.
38K
01 сентября 2012 года
grebenyk
15 / / 19.02.2009
После всех замен добавились новые приколы
вот такого типа ошибки
1>arria_gx_ctrl.obj : error LNK2028: unresolved token (0A000023) "extern "C" int __stdcall SetupDiEnumDeviceInterfaces(void *,struct _SP_DEVINFO_DATA *,struct _GUID const *,unsigned long,struct _SP_DEVICE_INTERFACE_DATA *)" (?SetupDiEnumDeviceInterfaces@@$$J220YGHPAXPAU_SP_DEVINFO_DATA@@PBU_GUID@@KPAU_SP_DEVICE_INTERFACE_DATA@@@Z) referenced in function "public: int __clrcall ArriaGX_Ctrl::search(void)" (?search@ArriaGX_Ctrl@@$$FQAMHXZ)
Как с ними бороться , подменами существующего или еще как пока не знаю
38K
01 сентября 2012 года
grebenyk
15 / / 19.02.2009
Пробовал
из http://programmersforum.ru/showthread.php?t=105263

В свойствах проекта "Configuration properties -> Linker -> Input -> Additional Dependencies" не стояла галочка у "Inherit from parent or project defaults".
Проставил ее и все скомпилировалось и скомпоновалось.

Вот список библиотек которые туда влезли (какие-то видать не нужны, но одной user32.lib точно не достаточно):
kernel32.lib
user32.lib
gdi32.lib
winspool.lib
comdlg32.lib
advapi32.lib
shell32.lib
ole32.lib
oleaut32.lib
uuid.lib
odbc32.lib
odbccp32.lib
38K
01 сентября 2012 года
grebenyk
15 / / 19.02.2009
К сожалению ничего не поменялось, какие еще могут быть варианты?
38K
01 сентября 2012 года
grebenyk
15 / / 19.02.2009
пользуюсь проектом типа CLR->Windows Forms Application
414
01 сентября 2012 года
CassandraDied
763 / / 24.05.2012
Цитата:
Проставил ее и все скомпилировалось и скомпоновалось.


Цитата:
К сожалению ничего не поменялось


Так работает или нет? Если нет, то что не работает?

297
01 сентября 2012 года
koodeer
1.2K / / 02.05.2009
CLR - управляемый код. Этим всё сказано. Обычный C++ - неуправляемый код.
Создавай проект, в котором нет слов CLR и .NET.

Хочешь клепать формочки в дизайнере - бери управляемый код. Но тогда переходи на C#. Впрочем, Windows Forms уже считается устаревшей. Бери сразу WPF.

Managed C++ нужен лишь в качестве "клея" - для связывания управляемуого кода (написанного на C# и VB.NET) и неуправляемого (написанного на C и C++).

Уже неоднократно писал об этом на Коднете, отмечу ещё раз: Visual Studio не годится для начинающих плюсистов именно по причине того, что позволяет писать как управляемый, так и неуправляемый код. Нубы, начитавшись, какой ЦПП крутой и быстрый, пробуют его. Наткнувшись на проект Windows Forms они восклицают: "Вау! Можно легко клепать формочки!" И понеслась...
7
01 сентября 2012 года
@pixo $oft
3.4K / / 20.09.2006
Цитата: koodeer
Хочешь клепать формочки в дизайнере - бери управляемый код

Ну это не совсем верно.Если он хочет просто клепать их,то редактор ресурсов для C++ ему в помощь! :)
Ну а логику прописать—это уж само собой

38K
02 сентября 2012 года
grebenyk
15 / / 19.02.2009
У меня до сих пор не компилируется проект, после вышеизложенных операций остаются следующие ошибки


1>optic_object.obj : error LNK2020: неразрешенная лексема (0A000016) "protected: int __clrcall ArriaGX_Ctrl::dataTransfer(int,unsigned int,...)" (?dataTransfer@ArriaGX_Ctrl@@$$FIAMHHIZZ)
1>optic_object.obj : error LNK2028: ссылка на неразрешенную лексему (0A000017) "public: __clrcall ArriaGX_Ctrl::ArriaGX_Ctrl(void)" (??0ArriaGX_Ctrl@@$$FQAM@XZ) в функции "public: __clrcall Device_struct::Device_struct(void)" (??0Device_struct@@$$FQAM@XZ)
1>optic_object.obj : error LNK2028: ссылка на неразрешенную лексему (0A000018) "public: __clrcall ArriaGX_Ctrl::~ArriaGX_Ctrl(void)" (??1ArriaGX_Ctrl@@$$FQAM@XZ) в функции "public: __clrcall Device_struct::~Device_struct(void)" (??1Device_struct@@$$FQAM@XZ)
1>optic_object.obj : error LNK2028: ссылка на неразрешенную лексему (0A000019) "public: int __clrcall ArriaGX_Ctrl::search(void)" (?search@ArriaGX_Ctrl@@$$FQAMHXZ) в функции "public: __clrcall Device_struct::Device_struct(void)" (??0Device_struct@@$$FQAM@XZ)
1>optic_object.obj : error LNK2028: ссылка на неразрешенную лексему (0A00001A) "public: int __clrcall ArriaGX_Ctrl::init(unsigned int,unsigned int,unsigned int,unsigned int,unsigned int,unsigned int)" (?init@ArriaGX_Ctrl@@$$FQAMHIIIIII@Z) в функции "public: __clrcall Device_struct::Device_struct(void)" (??0Device_struct@@$$FQAM@XZ)
1>optic_object.obj : error LNK2020: неразрешенная лексема (0A00005D) "protected: int __clrcall ArriaGX_Ctrl::dataTransfer(int,unsigned int,...)" (?dataTransfer@ArriaGX_Ctrl@@$$FIAMHHIZZ)
1>optic_object.obj : error LNK2020: неразрешенная лексема (0A000071) "protected: int __clrcall ArriaGX_Ctrl::dataTransfer(int,unsigned int,...)" (?dataTransfer@ArriaGX_Ctrl@@$$FIAMHHIZZ)
1>optic_object.obj : error LNK2020: неразрешенная лексема (0A00008A) "protected: int __clrcall ArriaGX_Ctrl::dataTransfer(int,unsigned int,...)" (?dataTransfer@ArriaGX_Ctrl@@$$FIAMHHIZZ)
1>optic_object.obj : error LNK2020: неразрешенная лексема (0A0000F3) "unsigned int size_buff" (?size_buff@@$$Q3IA)

Теперь уважаемому знатоку "koodeer"- форум он на то и форум что б разрешать вопросы. Я ни первый год занимаюсь программированием ,правдо под Builder, и Visual познаю по книгам. и к сожалению данная тема не была там затронута.
Если ты где то эту тему рассматривал и разбирал, лучше б кинул ссылку вместо возмущений и раздражений.
А найти какую -либо информацию весьма сложно , особенно когда не знаешь как задать вопрос.
414
02 сентября 2012 года
CassandraDied
763 / / 24.05.2012
Не первый год программируешь, а гуглить всё ещё не научился. koodeer написал, что нужно делать, чтобы ошибки исчезли, вернее, чего делать не нужно, чтобы они не появлялись.
Ну вот тебе линк по теме.
1
03 сентября 2012 года
kot_
7.3K / / 20.01.2000
Цитата: grebenyk
Я ни первый год занимаюсь программированием ,правдо под Builder, и Visual познаю по книгам. и к сожалению данная тема не была там затронута.



Видимо не легко ПОЗНАВАТЬ это по книгам. Ибо воистену - НИ первый год. Житие мое…— Какое житие твое, пёс смердящий!.

297
03 сентября 2012 года
koodeer
1.2K / / 02.05.2009
Цитата: grebenyk
форум он на то и форум что б разрешать вопросы.


Ну? Ты задал вопрос, я дал ответ.
Ещё раз: C++ и C++.NET - это разные языки! Почему тебя удивляет, что код на одном языке не собирается в компиляторе другого языка?

Цитата: grebenyk
лучше б кинул ссылку вместо возмущений и раздражений.


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

Уточню: собрать код нативного С++ в C++.NET конечно можно. Языки хоть и разные, но совместимые. Чего не хватает: каких-то либ, каких-то инклюдов, каких-то пространств имён.

38K
03 сентября 2012 года
grebenyk
15 / / 19.02.2009
Прошу прощение за то что вспылил, к сожалению, большинство вещей, на которые мне скинул ссылку товарищ CassandraDied , я знал за что ему спасибо. Нашел очередной lib, setupapi.lib -все заработало
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог