• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

question-closed [C++] Błąd linkera

Cloud VPS
+1 głos
210 wizyt
pytanie zadane 2 sierpnia 2019 w C i C++ przez Hiskiel Pasjonat (22,830 p.)
zamknięte 3 sierpnia 2019 przez Hiskiel

Cześć.

Struktura plików wygląda u mnie tak:
 

E:.
│   main.cpp
│   ...
│
 |
├───config_utils
│       config_utils.cpp
│       config_utils.h
│
└───others
        utils.cpp
        utils.h

pliki .h wyglądają tak:

#ifndef PTS_UTILS_H
#define PTS_UTILS_H
#include <string>
#include <optional>
#include <string_view>

std::optional<std::string> getEnvVar(std::string_view name);

#endif
#ifndef PTS_CONFIG_UTILS_H
#define PTS_CONFIG_UTILS_H
#include <filesystem>
#include <tuple>

namespace fs = std::filesystem;

namespace cfg_utils{

enum class CFG_GATHER_WAY{
    LOCAL,
    ENVVAR,
    USER,
    NOTHING
};

enum class CFG_CREATION_ERR{
    FILE_ERR,
    ENV_VAR_ERR,
    NO_ERR
};

std::tuple<fs::path, CFG_GATHER_WAY> findConfigFile();
std::pair<fs::path, CFG_CREATION_ERR> createConfigFile();

}

#endif

 

wszystkie definicje i deklaracje się zgadzają, a kompilując w ten sposób:

g++ (warningi) -std=c++1z others/utils.cpp -c -o utils.o 

g++ (warningi) -std=c++1z config_utils/config_utils.cpp -c -o config_utils.o 

g++ (warninig) -std=c++1z utils.o config_utils.o main.cpp 

dostaję takie błędy linkera:

C:\Users\In5ert\AppData\Local\Temp\cc2UuDP1.o:main.cpp:(.text+0x31): undefined reference to `cfg_utils::findConfigFile[abi:cxx11]()'
C:\Users\In5ert\AppData\Local\Temp\cc2UuDP1.o:main.cpp:(.text+0xbc): undefined reference to `cfg_utils::createConfigFile[abi:cxx11]()'
collect2.exe: error: ld returned 1 exit status

 

komentarz zamknięcia: rozwiązane, deklaracje nie były w namespace
1
komentarz 2 sierpnia 2019 przez adrian17 Mentor (354,120 p.)
Pokaż `config_utils/config_utils.cpp`
komentarz 3 sierpnia 2019 przez Hiskiel Pasjonat (22,830 p.)
Dobra, problem rozwiązany, głupim

Podobne pytania

0 głosów
2 odpowiedzi 708 wizyt
0 głosów
2 odpowiedzi 193 wizyt
0 głosów
1 odpowiedź 417 wizyt
pytanie zadane 9 kwietnia 2021 w C i C++ przez michal100032 Początkujący (390 p.)

93,453 zapytań

142,448 odpowiedzi

322,718 komentarzy

62,831 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj

Kursy INF.02 i INF.03
...