次の C++ プログラムがあります。
Client.h
#ifndef Client_Client_h
#define Client_Client_h
#include "Client.h"
class Client {
public:
void f1();
void f2();
};
#endif
クライアント.cpp
#include <iostream>
#include <stdlib.h>
using namespace std;
#include "Client.h"
void Client::f1(){
cout << "Client.f1()" << endl;
}
void Client::f2() {
cout << "Client.f2()" << endl;
}
上記を XCode 4.3 でコンパイルすると、次の名前の静的ライブラリ ファイルが得られます。
libClient.a
別に、main.c があります。
#include <stdio.h>
//
//using namespace std;
int main(){
// how do I do something like: Client c; c.f1(); c.f2();
// and actually get output ?
printf("hello\n");
return 0;
}
f1() と f2() を呼び出すために必要な手順は何ですか? GCC を使用して静的ライブラリを適切にリンクするにはどうすればよいですか?
これまでのところ、私は試しました:
gcc -lClient.a main.c
これは私に与えます:
ld: library not found for -lClient.a
collect2: ld returned 1 exit status