2014-05-20 2 views
0

Для программы, которую я пишу на C++, мне нужны некоторые квадраты разных цветов, которые нужно нарисовать в окне, а затем снова исчезнуть. (Или быть перевыполненным)Как включить API

Я использую Xcode, и я решил, что самый простой способ - это Quartz 2D API, который, кажется, поддерживает именно графическую функциональность, в которой я нуждаюсь.

Но теперь я потерян. Как связать API в моем исходном коде?

Все, что я узнал в своих лекциях, состоит в том, что вы можете связать заголовочный файл с чем-то вроде #include "myHeader.h", чтобы связать определение самописных классов, или #include <iostream>, чтобы включить стандартные библиотеки.

Я бы очень хотел, чтобы использовать этот конкретный API, или еще лучше, способ выяснить, как связать любой API.

EDIT: На данный момент код выглядит еще так:

#include <iostream> 
using namespace std; 

int main() 
{ 
    return 0; 
} 

И я до сих пор интересно, что строка кода приходит после первого #include

+0

У вас есть код с Xcode? Вы уже скомпилировали его? – Svalorzen

+1

Заголовочные файлы содержат объявления или * как использовать функцию *. Библиотеки содержат ** содержимое ** функции. Вам нужно будет * связывать * библиотеки с вашим основным кодом. –

+0

@Thomas: ну, как узнать, какие библиотеки мне нужно связать, чтобы использовать упомянутый API? – ColdBrew

ответ

0

Вы должны найти README или другой руководство по использованию вашего API.

В общем, вы должны предоставить декларацию функций, которые вы хотите использовать из API. Вы можете записать его в свои файлы или #include соответствующие заголовки. Затем вам нужно связать объектный код функций API, т. Е. Вы можете включить библиотеки API через интерфейс IDE (Linker-> Libraries-> Add library с кодом API). Но API может быть всего лишь пакетом файлов .h и .cpp, поэтому вы должны помещать эти файлы в свой проект, включая, например, api.h, и использовать утилит из API в своем коде напрямую, потому что программа будет ссылаться на объект код, созданный из файлов API, включенных в этот файл api.h.

Пример с включением скомпилированной библиотеки:

http://www.interactivebrokers.com/download/GettingStartedC++API.pdf

Пример с объектным кодом API, построенный в проекте:

https://github.com/rudimeier/twsapi/blob/master/TestPosixSocketClient/PosixTestClient.h

1

Спасибо bits_internationl! Это сработало. В случае Quartz 2D API линия #include <CoreGraphics/CoreGraphics.h>

Для будущих посетителей могут быть полезны следующие ресурсы.

Описание различных рамочные (Сообщение от Жано): What's the difference between Quartz Core, Core Graphics and Quartz 2D?

Как включить Каркасы в Xcode и стандартный каталог каркасы: https://developer.apple.com/library/mac/documentation/macosx/conceptual/BPFrameworks/Tasks/IncludingFrameworks.html