将外部c ++库添加到CLion项目

时间:2017-07-09 15:51:57

标签: c++ opengl libraries clion

我正在使用Mac的CLion,而且我有一些问题需要了解如何在项目中添加外部库。那么,我如何将外部库添加到c ++项目中呢?

2 个答案:

答案 0 :(得分:3)

手动编辑CMakeLists.txt,在末尾添加以下行,并为系统和正确的ProjectName添加适当的路径。此配置适用于Ubuntu 17.04工作站。

include_directories("/usr/include/SDL2")
target_link_libraries(ProjectName "/usr/lib/x86_64-linux-gnu/libSDL.so")

希望这有帮助。

您可以使用以下方法对其进行测试:

#include <iostream>
#include <SDL.h>
using namespace std;

int main() {
    if (SDL_Init(SDL_INIT_VIDEO) < 0) {
        cout << "SDL Init failed" << endl;
        return 1;
    }
    cout << "SDL Init succeeded" << endl;

    SDL_Quit();
    return 0;
}

答案 1 :(得分:1)

f()中,添加外部库信息。 首先,您可以为外部库定义逻辑名称, 说例如我们想要链接一个已经安装在系统某处的 .so 文件的共享库,

n=int(input('Enter the number:')) if(n<=0): print('Enter a valid number') else: sum=0 count = 0 while(n>0): for count in range (i % 2 ==0) sum+=n n-=1 print(sum)

IMPORTED 表示该库已经存在,我们不需要在此项目中构建它。

然后,我们可以提供有关此逻辑库的位置信息,如下所示,

<!DOCTYPE html> <html lang="en-US"> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width, initial-scale=0.5"> <!--<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css"> --> <style> * { margin: 0; padding: 0; } html, body { height: 100%; margin: 0%; } body { background-color: #080808; overflow: hidden; } #spinner, #spinner:before, #spinner:after { position: absolute; top: 50%; left: 50%; background: none; border-radius: 50%; border: 5px solid cyan; } #spinner { height: 386px; width: 386px; margin: -208px; border: 15px solid blue; z-index: 1; border-top: 15px solid red; -webkit-animation: spin 1s ease-in-out infinite; -moz-animation: spin 1s ease-in-out infinite; -ms-animation: spin 1s ease-in-out infinite; -o-animation: spin 1s ease-in-out infinite; animation: spin 1s ease-in-out infinite; } #spinner:before { content: ""; height: 372px; width: 372px; margin: -191px; } #spinner:after { content: ""; width: 420px; height: 420px; margin: -215px; } #vline, #hline, #dline1, #dline2 { height: 420px; position: absolute; border-left: 1px solid cyan; top: 50%; left: 50%; margin-top: -210px; } #hline { -webkit-transform: rotate(90deg); -moz-transform: rotate(90deg); -o-transform: rotate(90deg); -ms-transform: rotate(90deg); transform: rotate(90deg); } #dline1 { -webkit-transform: rotate(45deg); -moz-transform: rotate(45deg); -o-transform: rotate(45deg); -ms-transform: rotate(45deg); transform: rotate(45deg); } #dline2 { -webkit-transform: rotate(-45deg); -moz-transform: rotate(-45deg); -o-transform: rotate(-45deg); -ms-transform: rotate(-45deg); transform: rotate(-45deg); } @keyframes "spin" { 0% { -webkit-transform: rotate(0deg); -moz-transform: rotate(0deg); -o-transform: rotate(0deg); -ms-transform: rotate(0deg); transform: rotate(0deg); } 100% { -webkit-transform: rotate(360deg); -moz-transform: rotate(360deg); -o-transform: rotate(360deg); -ms-transform: rotate(360deg); transform: rotate(360deg); } } @-moz-keyframes spin { 0% { -moz-transform: rotate(0deg); transform: rotate(0deg); } 100% { -moz-transform: rotate(360deg); transform: rotate(360deg); } } @-webkit-keyframes "spin" { 0% { -webkit-transform: rotate(0deg); transform: rotate(0deg); } 100% { -webkit-transform: rotate(360deg); transform: rotate(360deg); } } @-ms-keyframes "spin" { 0% { -ms-transform: rotate(0deg); transform: rotate(0deg); } 100% { -ms-transform: rotate(360deg); transform: rotate(360deg); } } @-o-keyframes "spin" { 0% { -o-transform: rotate(0deg); transform: rotate(0deg); } 100% { -o-transform: rotate(360deg); transform: rotate(360deg); } } </style> <title>Test</title> </head> <body> <div id="spinner"></div> <div id="vline"></div> <div id="hline"></div> <div id="dline1"></div> <div id="dline2"></div> </body> </html>