Добавление библиотеки к проекту

Тема в разделе "MS Visual C++", создана пользователем sergg, 29 окт 2010.

  1. sergg

    sergg Member

    Регистрация:
    9 май 2010
    Сообщения:
    20
    Симпатии:
    0
    Всем доброго времени суток.
    Я недавно перешел с BCB на MsVS 2010, поэтому прошу не судить строго. Вопрос покажется смешным, но все же: как в Visual Studio 2010 подключить к проекту библиотеку? Дело в том, что я написал #include <ras.h>, но структуры из этой библиотеки, при компиляции программы, оказываются неизвестными. Это надо как-то через линкер добавить библиотеку, а вот как - я не знаю. В этом и вопрос.
    Спасибо.
     
  2. DarkKnight

    DarkKnight Well-Known Member
    C\C++ Team

    Регистрация:
    1 авг 2010
    Сообщения:
    653
    Симпатии:
    0
    #pragma comment(lib,"имя либа")
    Либо в настройках проекта
     
  3. sergg

    sergg Member

    Регистрация:
    9 май 2010
    Сообщения:
    20
    Симпатии:
    0
    Расширение библиотеки должно быть .lib или хватить заголовочного файла .h ?
     
  4. DarkKnight

    DarkKnight Well-Known Member
    C\C++ Team

    Регистрация:
    1 авг 2010
    Сообщения:
    653
    Симпатии:
    0
    При таком подключении, оно "неявное" вроде называет, должна быть обязательно либка....

    тоесть:
    #pragma comment(lib,"имя либа.lib")
    И заголовочный файл обязательно
    #include <заголовочный файл>

    Ну а если dllку подключаешь (такой способ для нее конечно не подойдет), например динамически, то заголовочный файл впринципи и не нужен...
    Если же у тебя dllка, но ты хочешь подключить ее на этапе компилирования (сборки) то implib поможет импортировать в lib файл, но загловок с прототипами тебе придется описать самому .. (либо ты сам знаеш прототипы нужных функций, либо юзаешь дизассеблер)

    Добавлено: Хороший пример, если ты когда-нибудь разбирался с OpenGL или DirectX, там как раз тот случай, когда ты объявляешь функции(заголовочный файл), но реализованы они в lib файлах и ты просто обязан подключить lib к проекту...
     
  5. sergg

    sergg Member

    Регистрация:
    9 май 2010
    Сообщения:
    20
    Симпатии:
    0
    Вот код билдера(в нем все пашет):

    #include <vcl.h>
    #include <iostream.h>
    #include <ras.h> //описание функций и структур, связанных с RAS
    #include <raserror.h>
    #include <conio.h>
    #pragma hdrstop

    //---------------------------------------------------------------------------

    #pragma argsused
    int main(int argc, char* argv[])
    {
    RASCONN ras;
    RAS_STATS stat;
    unsigned long size=0,number=0;
    unsigned long receive=0,send=0;


    ras.dwSize=sizeof(RASCONN);
    stat.dwSize=sizeof(RAS_STATS);
    size=sizeof(ras);

    а в вижуале нету переменных двСайз обеих структур. В чем может быть проблема?
     
  6. DarkKnight

    DarkKnight Well-Known Member
    C\C++ Team

    Регистрация:
    1 авг 2010
    Сообщения:
    653
    Симпатии:
    0
    Так не бывает......
    Что-пишит по части ошибок???
    Выложи код который на VC++ пишишь?
    #include <ras.h> - и это тоже можешь выложить...

    P.S. И точно ли в VC точная копия ras.h подгружается???
     
Загрузка...

Поделиться этой страницей