Наши проекты:
Журнал · Discuz!ML · Wiki · DRKB · Помощь проекту |
||
ПРАВИЛА | FAQ | Помощь | Поиск | Участники | Календарь | Избранное | RSS |
[3.21.93.245] |
|
Страницы: (20) « Первая ... 3 4 [5] 6 7 ... 19 20 все ( Перейти к последнему сообщению ) |
Сообщ.
#61
,
|
|
|
хм.. как гдето уже советовали Use MFC in a Static library помогло.
Но опять таки... исходная программа скомпилированное в VC6 занимала 65 кб, а теперь 400кб Где интересно собака порылась? |
Сообщ.
#62
,
|
|
|
Цитата Nik0lay @ хм.. как гдето уже советовали Use MFC in a Static library помогло. Но опять таки... исходная программа скомпилированное в VC6 занимала 65 кб, а теперь 400кб Где интересно собака порылась? теперь тебе не надо будет с прогой таскать библиотеки MFC |
Сообщ.
#63
,
|
|
|
2miksayer: ага, я так и понял. Без фреймворка работает, что и хотел.
Но что то мне подсказывает что при статике сует в приложение вообще все нужные ему библиотеки, а разве хотябы часть этих библиотек не сидит уже в системе? Или я ошибаюсь? |
Сообщ.
#64
,
|
|
|
Цитата Nik0lay @ Но что то мне подсказывает что при статике сует в приложение вообще все нужные ему библиотеки, а разве хотябы часть этих библиотек не сидит уже в системе? Или я ошибаюсь? вроде как нет |
Сообщ.
#65
,
|
|
|
Паривет всем.
пытаюсь перенести проект из 2003-й студии в 2005 - ю. вылетаеют ошибки при компиляции stdafx.cpp. Ругается на include\winnt.h(222) : error C2146: syntax error : missing ';' before identifier 'PVOID64' include\winnt.h(222) : error C4430: missing type specifier - int assumed. Note: C++ does not support default-int include\winnt.h(5940) : error C2146: syntax error : missing ';' before identifier 'Buffer' include\winnt.h(5940) : error C4430: missing type specifier - int assumed. Note: C++ does not support default-int include\winnt.h(5940) : error C4430: missing type specifier - int assumed. Note: C++ does not support default-int привожу содержимое данных строк в winnt.h 222 - typedef void * POINTER_64 PVOID64; 5940 - PVOID64 Buffer; Подскажите. В чём проблема? |
Сообщ.
#66
,
|
|
|
У меня проблема перехода с VS6.0 на VS2003
Раньше работало так #include <iostream.h> void main(void) { cout << "Hello world!" << flush; } Теперь iostream.h зачем-то переименован в iostream, ну да это ничего, но если компилить такое: #include <iostream> void main(void) { cout << "Hello world!" << flush; } Говорит, мол, не знаю я что такое cout и все тут! В чем трабла? |
Сообщ.
#67
,
|
|
|
MAXvalL: наверняка нужно писать std::cout (или предварительно using namespace std;), и возможно нужно другой хидер.
|
Сообщ.
#68
,
|
|
|
Цитата Budda @ MAXvalL: наверняка нужно писать std::cout (или предварительно using namespace std;), и возможно нужно другой хидер. Это тебе не MFC! Этож стандартная библиотека C++! А какой другой? |
Сообщ.
#69
,
|
|
|
Во: если при дебаггинге программы в процессе работы нажать кнопочку [Pause ||], то строка останова не подсвечивается. Лазь теперь программер по модулям, ищи свою строчечку...
(вообще у меня какой-то смертельно глючный пиратский дистрибутив VS2005 4 SQL Developers, в котором и без этого глюков хватает) |
Сообщ.
#70
,
|
|
|
MAXvalL при чём тут MFC? Библиотека то стандартная, но нужно указать компилятору, что юзать нужно именно её. Теперь (или может и всегда так было не знаю, сам STL юзаю меньше года) функции этой библиотеки вынесены в namespace std. А хидер я имел ввиду там <string>, или <sstream> - мало ли какие ты функции юзать станешь...
Цитата а ты нажимай Shift+F11 до тех пор, пока точка выполнения не выползет в нормальные процедуры (т.е. в те, у которых есть исходники). если при дебаггинге программы в процессе работы нажать кнопочку [Pause ||], то строка останова не подсвечивается. Лазь теперь программер по модулям, ищи свою строчечку |
Сообщ.
#71
,
|
|
|
В функциях обработчиках на которые реагирует ON_MESSAGE() теперь надо чтобы функция обработчик возвращала что-нибудь. Опять ребята из мс передалали прототип вызова функции.
Error C2440: 'static_cast' : cannot convert from 'void (__thiscall CDataDlg::* )(WPARAM,LPARAM)' to 'LRESULT (__thiscall CWnd::* )(WPARAM,LPARAM)'. LRESULT (__thiscall CWnd::* )(WPARAM,LPARAM) //Прототип обработчика сообщений. То есть за место этого кода: void CDataDlg::OnIcon(WPARAM wp, LPARAM lp) { if (lp==515) ShowWindow(SW_RESTORE); } должен быть следующий.. int CDataDlg::OnIcon(WPARAM wp, LPARAM lp) { if (lp==515) ShowWindow(SW_RESTORE); return 1; } |
Сообщ.
#72
,
|
|
|
Цитата SOLON7 @ Опять ребята из мс передалали прототип вызова функции. Прототип никто не переделывал - как метод возвращал LRESULT, так и возвращает. Просто некоторый народ пишет, не смотря на документацию - написано ведь, что должен возращать LRESULT, так нет, void лепят. А сейчас это не проходит, потому что ребята из M$ ужесточили контроль над типом прототипа ( ) при использовании ON_MESSAGE. И это правильно, т.к. раньше в ON_MESSAGE можно было передать обработчик с десятью параметрами или вообще от чужого класса. |
Сообщ.
#73
,
|
|
|
ГММММ.. Не знал.... А где ужесточили в линкере?????
|
Сообщ.
#74
,
|
|
|
Цитата SOLON7 @ А где ужесточили в линкере????? Да не. В компиляторе. Юзалось reinterpet_cast(неявно), теперь заюзалось static_cast. Отсюда и ужесточение... |
Сообщ.
#75
,
|
|
|
Такая оперативность заслуживает +.
|