|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
16.12.2010, 23:01 | #1 |
Новичок
Джуниор
Регистрация: 16.12.2010
Сообщений: 1
|
MSVS 2005 и nmake
Нужно скомпилировать программу, причем часть компилирует VS, часть утилита nmake через написанный makefile, после чего VS начинает линковать полученные файлы. Реализовано это следующим образом(на простом примере):
Фаил, который компилирует VS: test_make.cpp ------------------------------------- extern void prnt(int); int main() { prnt(5); return 0; } --------------------------------------------------- 2 файлики которые компилирует nmake через makefile ------------------------------------------------------- myhead.h [HIGHLIGHT="cpp"] #ifndef __MYHEAD_H_ #define __MYHEAD_H_ void prnt(int); #endif --------------------------------------------- mysrc.cpp #include "myhead.h" void prnt(int i) { printf("my number from mysrc %d " , i); } ------------------------------------------------- компиляция последних двух запускается через bat фаил(запускается он vs через свойства проекта -> build events -> pre build events) На этапе линковки возникает ошибка, мол линкер не находии метод prnt(int) . Заметил пару особенностей: 1) если компилить проект из командной строки - всё прекрасно компилиться и линкуется 2) если компилить проект из VS (весь проект, то есть добавить myhead и mysrc к проекту и сделать build ) - линковку проходит, запускается 3) если компилить из VS проект как в п2 и потом подменить полученные mysrc.obj и mysrc.sbr файлы на те, которые получаться в результате компиляции из коммандной строки(при помощи того же Makefile) то проект линкуется из VS успешно Как мне показалось, VS ищет extern функцию только в файлах проекта(а мне бы нужно, чтоб метод искался среди всех файлов, содержащихся в папке). |
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
MSVS templates | coinkrsk | Общие вопросы C/C++ | 2 | 30.09.2010 09:51 |
Задача VB 2005 | kantorez | Помощь студентам | 19 | 27.01.2009 00:19 |
БД в VS 2005 | Fillinia | Общие вопросы C/C++ | 1 | 21.08.2008 20:58 |