gcc code::blocks 共享库问题

3

我正在使用gcc编译器在Linux系统上使用code::blocks,想要使用共享库模板创建一个有类的共享库,然后创建另一个项目来访问该共享库(在编译时而不是动态地)。

我相信code::blocks有简单的方法可以做到这一点而不需要制作自定义makefile并手动设置链接选项,但我不知道如何操作。请问应该怎么做?

共享库

sl.h

class clsClass
{
    public:
    static bool bolReturnTrue(char * chWhatever);
};

sl.cpp

bool clsClass::bolReturnTrue(char * chWhatever)
{
    return true;
}

程序访问共享库

main.cpp

int main(int argc, char * argv[])
{
    bool Face = clsClass::bolReturnTrue(argv[0]);
    if(Face)
    {
        printf("True.\n");
    }
    else
    {
        printf("False.\n");
    }
    return 0;
}

你说的“在编译时访问共享库”是什么意思? - Georg Fritzsche
请注意,您需要将bolReturnTrue方法设置为静态方法或创建clsClass的实例来调用该方法。 - R Samuel Klatchko
1个回答

4
你的工作区可以有多个项目并设置项目依赖,不需要自定义makefile。 Code::Blocks的基本步骤如下:
  • 确保您的共享库项目生成导入库(项目属性->构建目标)
  • 将共享库项目设置为所需项目的依赖项(项目设置->项目依赖项)
  • 链接到导入库
  • 在相关源文件中包含共享库的头文件

1
可以说得更模糊一点吗?;) 顺便说一句,我在发布前进行了测试。 - Georg Fritzsche
无论我在哪里添加库的引用,它都无法链接。 - Kelly Elton
也许你正在尝试链接dll?你应该链接到导入库而不是dll(默认情况下在code::blocks中为.a),它会为您加载dll等。 - Georg Fritzsche

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接