2013-11-18 4 views
34

Я начал с изучения C++ несколько дней назад, и я хотел бы получить некоторые данные, чтобы сделать его более забавным. Я нашел a powerful C++ library called Unirest, который может помочь мне получить данные из многих API-интерфейсов и после практики основы :)Как включить библиотеки в Visual Studio 2012?

Я не знаю, как включить библиотеки в мой проект. Мне нравятся некоторые видеоролики о том, как это сделать, поэтому я только что создал папку libs (как я всегда делаю, когда я программирую на PHP), и я скопировал файлы библиотеки. После того, как я включил файл заголовка UNIRest.h в свой исходный код и добавил каталог libs в опцию VS + Справочники в Свойства проекта - Свойства конфигурации - VC + Каталоги. Все по-прежнему в порядке. Но когда я открыл файл заголовка UNIRest.h проблема появилась:

#import "UNIHTTPRequest.h" 
#import "UNIHTTPRequestWithBody.h" 
#import "HttpRequest/UNISimpleRequest.h" 
#import "HttpRequest/UNIBodyRequest.h" 
#import "HttpResponse/UNIHTTPBinaryResponse.h" 
#import "HttpResponse/UNIHTTPJsonResponse.h" 
#import "HttpResponse/UNIHTTPStringResponse.h" 

Все эти макросы подчеркнуты и компиляция завершилась с сообщением:

fatal error C1083: Cannot open type library file: 'libs\unirest\unihttprequest.h': Error loading type library/DLL. 

Не могли бы вы мне помочь? Надеюсь, что это не просто глупый вопрос, потому что я пытался сделать это работает целый день :(

+6

Я думаю, что есть проблема. Библиотека, которую вы выбрали, написана для Objective-C, которая отличается от C++. Objective-C используется в основном на Mac, я бы не сказал наверняка, что невозможно работать с Visual Studio (я не знаю), но я думаю, вам будет лучше использовать другую библиотеку , – john

+0

Совершенно очевидно. –

+2

В C и C++ вы '# include' заголовочные файлы. Но, как говорит @john, на этой версии нет версии C++.Так что вам нужно попробовать другую библиотеку (или переключить языки :) – crashmstr

ответ

86

Обычно вам нужно сделать 5 вещей, чтобы включить библиотеку в проект:

1) Добавить директивы #include необходимые файлы с декларации/интерфейсы, например:

#include "library.h" 

2) добавить включаемый каталог для компилятора, чтобы посмотреть в

-> Конфигурация свойств/VC++ Справочники/включают каталоги (нажмите и редактировать, добавлять новую запись)

3) Добавить библиотечный каталог для * .lib файлов:

-> проект (на верхней панели)/Свойства/Конфигурация свойств/VC++ Справочники/Библиотека Каталоги (нажмите и редактировать, добавлять новую запись)

4) Ссылка * .lib файлы в библитеками

-> Конфигурация Свойства/Linker/Input/Дополнительные зависимости (например: Library.lib;

5) Место файлов * .dll либо:

-> в каталоге вы будете открытие окончательного исполняемого файла из или в Windows/system32

+1

Спасибо. Я выбрал библиотеку, которая не поддерживает C++. Во всяком случае, это будет полезно для меня в будущем. +1 – Northys

+2

Если шаг 5 не работает с каталогом system32, попробуйте поместить его в каталог SysWOW64. – user886079

+2

В Visual Studios 2013, чтобы добраться до свойств конфигурации: сначала щелкните правой кнопкой мыши на проекте, затем перейдите в «Добавить»> «Ссылки» ... – Joe

6

В уровне коды также можно добавить ваш lib для проекта, используя директивы компилятора #pragma.

пример:

#pragma comment(lib, "yourLibrary.lib") 
Смежные вопросы