Ребята нужна помощь не могу понять почему на VC7.0 проект собирался а на 8.0 не фига не собирается
Output Log:
------ Build started: Project: 22 ProgLib, Configuration: Debug Win32 ------
Compiling...
ProgLib.cpp
.\ProgLib.cpp(81) : error C4430: missing type specifier — int assumed. Note: C++ does not support default-int
.\ProgLib.cpp(94) : error C4430: missing type specifier — int assumed. Note: C++ does not support default-int
.\ProgLib.cpp(127) : warning C4508: 'Hook_NtQuerySystemInformation' : function should return a value; 'void' return type assumed
APIHook.cpp
d:\projects\ntquerysysteminformation\ntquerysysteminformation\biblioteka\Toolhelp.h(87) : error C4430: missing type specifier — int assumed. Note: C++ does not support default-int
Generating Code...
Build log was saved at "file://d:\PROJECTS\ntquerysysteminformation\NtQuerySystemInformation\Biblioteka\Debug\BuildLog.htm"
22 ProgLib — 3 error(s), 1 warning(s)
========== Build: 0 succeeded, 1 failed, 0 up-to-date, 0 skipped ==========
Здравствуйте, Аноним, Вы писали:
А>Ребята нужна помощь не могу понять почему на VC7.0 проект собирался а на 8.0 не фига не собирается А>Output Log:
А>------ Build started: Project: 22 ProgLib, Configuration: Debug Win32 ------ А>Compiling... А>ProgLib.cpp А>.\ProgLib.cpp(81) : error C4430: missing type specifier — int assumed. Note: C++ does not support default-int А>.\ProgLib.cpp(94) : error C4430: missing type specifier — int assumed. Note: C++ does not support default-int А>.\ProgLib.cpp(127) : warning C4508: 'Hook_NtQuerySystemInformation' : function should return a value; 'void' return type assumed А>APIHook.cpp А>d:\projects\ntquerysysteminformation\ntquerysysteminformation\biblioteka\Toolhelp.h(87) : error C4430: missing type specifier — int assumed. Note: C++ does not support default-int А>Generating Code... А>Build log was saved at "file://d:\PROJECTS\ntquerysysteminformation\NtQuerySystemInformation\Biblioteka\Debug\BuildLog.htm" А>22 ProgLib — 3 error(s), 1 warning(s) А>========== Build: 0 succeeded, 1 failed, 0 up-to-date, 0 skipped ==========
А>Файл проекта: http://www.rsdn.ru:80/File/33151/ntquerysysteminformation.zip
А вы посмотрите на строки, что указывает компилятор.
Очевидно вы забыли тип и написали, что-то вроде:
Здравствуйте, Аноним, Вы писали:
А>Ребята нужна помощь не могу понять почему на VC7.0 проект собирался а на 8.0 не фига не собирается А>Output Log: А>.\ProgLib.cpp(81) : error C4430: missing type specifier — int assumed. Note: C++ does not support default-int
Compiler Warning C4430
Error Message
missing type specifier — int assumed. Note: C++ does not support default-int
This error can be generated as a result of compiler conformance work that was done for Visual C++ 2005: all declarations must now explicitly specify the type; int is no longer assumed. See Breaking Changes in the Visual C++ 2005 Compiler for more information.
Здравствуйте, Аноним, Вы писали:
А>Ребята нужна помощь не могу понять почему на VC7.0 проект собирался а на 8.0 не фига не собирается А>Output Log:
А>------ Build started: Project: 22 ProgLib, Configuration: Debug Win32 ------ А>Compiling... А>ProgLib.cpp А>.\ProgLib.cpp(81) : error C4430: missing type specifier — int assumed. Note: C++ does not support default-int А>.\ProgLib.cpp(94) : error C4430: missing type specifier — int assumed. Note: C++ does not support default-int А>.\ProgLib.cpp(127) : warning C4508: 'Hook_NtQuerySystemInformation' : function should return a value; 'void' return type assumed А>APIHook.cpp А>d:\projects\ntquerysysteminformation\ntquerysysteminformation\biblioteka\Toolhelp.h(87) : error C4430: missing type specifier — int assumed. Note: C++ does not support default-int А>Generating Code... А>Build log was saved at "file://d:\PROJECTS\ntquerysysteminformation\NtQuerySystemInformation\Biblioteka\Debug\BuildLog.htm" А>22 ProgLib — 3 error(s), 1 warning(s) А>========== Build: 0 succeeded, 1 failed, 0 up-to-date, 0 skipped ==========
А>Файл проекта: http://www.rsdn.ru:80/File/33151/ntquerysysteminformation.zip
в файле ProgLib.cpp сделай следующее:
1)typedef int (__stdcall *PFNNtQuerySystemInformation)(...
int __stdcall Hook_NtQuerySystemInformation(...
вместо того что там было.
2)добавь в конце Hook_NtQuerySystemInformation return int
3)в toolhelp.h и toolhelp.cpp переобъяви функцию CreateSnapshot чтобы она возвращала BOOL
P.S.: process explorer от sysinternals.com все равно видит этот процесс, т.к. запрашивает информацию Windows Native API функцией ZwQuerySystemInformation.
Это из-за того, что не установлен возвращаемый тип функции.
Print (int line){
return int;
}
а вот так работает:
int Print (int line){
return int;
}
У меня другая проблема:
Linking...
LINK : fatal error LNK1104: cannot open file 'LIBCD.lib'
Че он от меня хочет?
Римское правило. Тот, кто говорит, что Это не может быть сделано, никогда не должен мешать тому, кто Это делает.
Осень, ну вы поняли.
Зачем еще один код? А человек?
Ладно, с LIBCD.lib разобрался, пришлось перекомпилировать библиотеку.
Но вот вопрос он что долбанулся ?
С какого перепугу
for (int i=0;i<8;i++){}
i=1;
выдает ошибку, т.е. i остается только в for. приходится int i; перед forами писать.
Еще приходится дописывать double. Тоже не радует.
st=int(pow(2,double(i+1)));
Римское правило. Тот, кто говорит, что Это не может быть сделано, никогда не должен мешать тому, кто Это делает.
Осень, ну вы поняли.
Зачем еще один код? А человек?
Re[3]: Не собираеться проект
От:
Аноним
Дата:
04.11.06 17:04
Оценка:
Здравствуйте, MikelSV, Вы писали:
MSV>Ладно, с LIBCD.lib разобрался, пришлось перекомпилировать библиотеку.
MSV>Но вот вопрос он что долбанулся :wow: ? MSV>С какого перепугу MSV>for (int i=0;i<8;i++){} MSV>i=1; MSV>выдает ошибку, т.е. i остается только в for. приходится int i; перед forами писать.
MSV>Еще приходится дописывать double. Тоже не радует. MSV>st=int(pow(2,double(i+1)));
Насчет того что не компилилась libcd.lib то возможно у тебя либа в релизе а ты пытаешься в дебаге собраться или наоборот. Насчет i в цикле: какая-то опция компайлера есть которая при записи for(int i=0;i<8;i++){} позволяет указать оставлять ли переменную в цикле или видеть ее и дальше.
Здравствуйте, Аноним, Вы писали:
А>Здравствуйте, MikelSV, Вы писали:
MSV>>Ладно, с LIBCD.lib разобрался, пришлось перекомпилировать библиотеку.
MSV>>Но вот вопрос он что долбанулся :wow: ? MSV>>С какого перепугу MSV>>for (int i=0;i<8;i++){} MSV>>i=1; MSV>>выдает ошибку, т.е. i остается только в for. приходится int i; перед forами писать.
MSV>>Еще приходится дописывать double. Тоже не радует. MSV>>st=int(pow(2,double(i+1)));
А>Насчет того что не компилилась libcd.lib то возможно у тебя либа в релизе а ты пытаешься в дебаге собраться или наоборот. Насчет i в цикле: какая-то опция компайлера есть которая при записи for(int i=0;i<8;i++){} позволяет указать оставлять ли переменную в цикле или видеть ее и дальше.
А>С уважением, Игорь.
Зарегистрился наконец-то.
вот из мсдна фрагмент:
The C++ standard says that a variable declared in a for loop shall go out of scope after the for loop ends. For example:
for (int i = 0 ; i < 5 ; i++) {
// do something
}
// i is now out of scope under /Za or /Zc:forScope
By default, under /Ze, a variable declared in a for loop remains in scope until the for loop's enclosing scope ends.
/Zc:forScope enables standard behavior of variables declared in for loops without needing to specify /Za.
It is also possible to use the scoping differences of the for loop to redeclare variables under /Ze as follows:
// for_statement5.cppint main(){
int i = 0; // hidden by var with same name declared in for loopfor ( int i = 0 ; i < 3; i++ ) {}
for ( int i = 0 ; i < 3; i++ ) {}
}