lundi 27 mars 2017

Undefined reference to std::*something* when linking library staticly

I've compiled some of my code into a static library. Everything from this library begins with Glow or GLOWE prefix. At the moment, I'm testing the library in Linux (Ubuntu 14.04). I made a simple program to check if I did everything correctly.

#include <GlowSystem/Package.h>
int main(void)
{
    GLOWE::Package package;

    return 0;
}

GLOWE::Package is a class. It uses libzip and zlib (and standard c++ files eg. string). I link both libzip and zlib. When I try to compile, it fails with some linking errors. Build log (at pastebin)

I thought that these errors are caused by too old libstdc++, but this code compiles:

#include <string>

using namespace std;

int main(void)
{
    string a;
    a.resize(5000);
    return 0;
}

I'm at my wits' end and I have no idea what to do. I will appreciate any help.

Aucun commentaire:

Enregistrer un commentaire