我有以下 C++ 程序:
客户端.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