一、简单编译
#include <stdio.h>
int main(int argc, char* argv[])
{
printf("test\n");
return 0;
}
g++ main.cpp -o main
二、链接相关库
#include <stdio.h>
#include <stdint.h>
#include <stdlib.h>
#include <string>
#include <iostream>
#include <openssl/md5.h>
std::string md5Sum(const std::string& raw)
{
unsigned char md[16];
char out[33];
MD5((const unsigned char*)raw.c_str(), raw.length(), md);
for (int i = 0; i < 16; i++) {
sprintf(out + (i*2), "%02x", md[i]);
}
out[32] = 0;
return std::string(out);
}
int main(int argc, char* argv[])
{
std::string token = md5Sum(raw_token);
printf("test:%s\n", token.c_str());
return 0;
}
此段代码用到了openssl库,所以编译的时候需要将openssl相关静态库,以及相关头文件链接进去,才能编译成功。
g++ main.cpp -I/usr/local/openssl/include -lssl -lcrypto -ldl -L/usr/local/openssl/lib -L/usr/lib -o main
解释:
-I(大写i) : 依赖来的头文件地址
-l(小写l): 依赖的库名
-L: 依赖库文件地址