Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > Visual C++
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 16.12.2010, 23:01   #1
floke
Новичок
Джуниор
 
Регистрация: 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 функцию только в файлах проекта(а мне бы нужно, чтоб метод искался среди всех файлов, содержащихся в папке).
floke вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
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