Member
Статус: Не в сети Регистрация: 05.09.2006 Откуда: (UA)Dnepr
Шмендальф писал(а):
c:\documents and settings\дмитрий\мои документы\visual studio 2005\projects\1\1\1.cpp(66) : error C2664: 'MessageBoxW' : cannot convert parameter 2 from 'const char [29]' to 'LPCWSTR' Types pointed to are unrelated; conversion requires reinterpret_cast, C-style cast or function-style cast
Буквочку L поставьте перед открывающей кавычкой стринга.
Junior
Статус: Не в сети Регистрация: 09.09.2004 Откуда: Moscow
искал в гугле но так и не понял:weep:
когда пытаюсь сделать дебаг пишет
"Unable to start program C:\Documents\Visual Studio 2005\projects\project\
project.exe
Не удаеться найти указаный файл "
не находит project.exe
такаежа проблема c#
что делать то:gun:
Advanced member
Статус: Не в сети Регистрация: 09.03.2004 Откуда: Кишинёв
Vedge писал(а):
нет не создаеться только .cpp там лежит
В меню Build->Build <project name> . Далее смотрим на ошибки(они вероятно у вас присутствуют). cpp должен лежать в папке проекта, а exe файл в папке Debug или Release (если не переопределять в свойствах проекта).
Member
Статус: Не в сети Регистрация: 13.11.2003 Откуда: Москва
Господа, подскажите, пожалуйста...
Есть программа (довольно старая, Arcview 3.2), которая умеет подключать только библиотеки, написанные на C.
Мне же вообще-то хотелось бы связать Arcview с C# Делать пытаюсь посредством C++.
Конечная цель: вызвать C#, когда доступен только вызов процедур, написанных на чистом C. Если я просто подключаю CLR C++ библиотку - то всё нормально, всё считает. Если же я этой библиотеке говорю подключить другую библиотеку, заставить её посчитать и вернуть посчитанное ей значение, то не выходит. Первая библиотека не может подключить (найти) вторую, а вываливается в итоге Arcview.
В VС++ 2005 пишу вот так (проект "CPPLib", CLR):
Код:
extern "C"{ __declspec(dllexport) int Add(int a, int b){ return a+b; } }
Подключаюсь через Arcview - и эта программка работает на ура, возвращается правильное значение.
Далее сложнее: создаю проект C# ClassLibrary (название - "CSharpClassLib"), в нём пишу, например, вот такую функцию:
Код:
public class Class1 { public static int Sum(int a, int b) { return a + b; } }
В проекте на С++ подключаю через References полученную С#-библиотеку, и пишу такую функцию:
Код:
__declspec(dllexport) int Add2(int a, int b) { return Class1::Sum(a,b); }
пробую запустить функцию через Arcview, вываливается с ошибкой. Microsoft CLR debugger пишет следующее:
Цитата:
An unhandled exception of type 'System.IO.FileNotFoundException' occured in Unknown Module. Additional information: Could not load file or assembly 'CSharpClassLib', version = 1.0.0.0, Culture=neutral, PublicKeyToken=null' or one of its dependencies. не удается найти указанный файл.
Т.е. не может найти C# проект, который я к проекту C++ присоединил через References.
А если запускать через VS - то всё подключается без проблем и работает нормально. Делаю это так: создаю ещё один проект C#, подключаю к нему через References свою C++ библиотеку CPPLib (к которой аналогичным образом уже подключена библиотека CSharpClassLib с её функцией Sum):
В новом проекте пишу:
Код:
[DllImport("CPPLib", SetLastError = true, CharSet = CharSet.Auto)] public static extern int Add2(int a, int b);
И там Add2(x, y); уже отрабатывает без проблем.
Через arcview же так не получается.
В Arcview проблема или я что-то делаю не так? Может есть какие-то другие способы подключения библиотеки C# к проекту CLR C++? Или вообще другие способы достижения цели? Никто не подскажет?
Если же это принципиально невозможно - скажите, кто знает, лучше уж когда хоть какая-то определённость
Если что-то непонятно написал - уточню (хех, я уже и сам ничего не понимаю).
Модерам извинения, если я промахнулся темой.
Заранее всем спасибо.
Update: надо было подсунуть библиотеку C# в папку BIN32 Arcview.
_________________ Внимание! Форум в опасности! ИДИОТ ЗА КЛАВИАТУРОЙ!!!
Последний раз редактировалось Apocalypse 26.04.2008 20:30, всего редактировалось 1 раз.
искал в гугле но так и не понял:weep: когда пытаюсь сделать дебаг пишет "Unable to start program C:\Documents\Visual Studio 2005\projects\project\ project.exe Не удаеться найти указаный файл " не находит project.exe такаежа проблема c# что делать то:gun:
Делаю пример из книги Юрий Щупак “Win32 Эффективная разработка приложений”, стр.549. При компиляции выскочило:
---------------------------
Microsoft Visual Studio
---------------------------
Unable to start program 'c:\documents and settings\malor\мои документы\vc_projects\win32api\buggy\debug\Buggy.exe'.
Не удается найти указанный файл.
Member
Статус: Не в сети Регистрация: 14.11.2004 Откуда: www.l-b-h.org
Подскажите плиз, почему в студии 2005 при Start Debugging "Debug" вылазят всякие ошибки тиа MSVS80.dll не найден или неверно запускается программа, без последних изменений? Clean Project не всегда спасает. А если делать через Release, то всё путём.
Member
Статус: Не в сети Регистрация: 18.12.2006 Откуда: Брест
Такой вопрос, при создании Dialog based в MFC Application Wizard после компиляции все кнопки в диалоговом окне в классическом стиле, почему? Если создавать с юникодом, то всё в стиле xp, но мне это не надо. (MS Visual Studio 2005 Pro).
Advanced member
Статус: Не в сети Регистрация: 09.03.2004 Откуда: Кишинёв
Ruzalim писал(а):
Если создавать с юникодом, то всё в стиле xp, но мне это не надо.
А почему не надо? . По моему все приложения в современности нужно создавать в юникоде(под окошки имеется ввиду). В чём проблема не знаю(с манифестом что-то наверное), т.к. всегда использую классик вид.
Member
Статус: Не в сети Регистрация: 17.11.2003 Откуда: Екатеринбург
Ruzalim писал(а):
Такой вопрос, при создании Dialog based в MFC Application Wizard после компиляции все кнопки в диалоговом окне в классическом стиле, почему?
У меня тоже самое было, решил способом описанным здесь: http://msdn2.microsoft.com/en-us/library/ms997646.aspx Причем дописывать CREATEPROCESS_MANIFEST_RESOURCE_ID RT_MANIFEST "YourApp.exe.manifest" хз куда не пришлось - и так все работает (в конец exe-шника манифест запихался). И вообще зачем эти манифесты нужны не пойму, в VS 2003 и без их создания все прекрасно работало.
_________________ |АМД процы не так уж и плохи|
|Но все-таки Интел лучше|
Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 2
Вы не можете начинать темы Вы не можете отвечать на сообщения Вы не можете редактировать свои сообщения Вы не можете удалять свои сообщения Вы не можете добавлять вложения