предупреждение LNK4217: локально определенный символ (лязг) - PullRequest
0 голосов
/ 05 марта 2019

Мне необходимо использовать эти параметры компиляции и компилировать без предупреждений:

 clang++ -g3 -O0 -std=c++17 -pedantic -Wall -Wold-style-cast -Wextra
 -Woverloaded-virtual -I./ -o main main.cpp

, когда я компилирую свою программу, я получаю эти предупреждения, и я не знаю, что они означают, и я ничего не могу найтиэто может помочь мне, кроме одного поста здесь, где кто-то порекомендовал разные варианты компиляции, которые мне не разрешено использовать.

main-e3f4bd.o : warning LNK4217: locally defined symbol __std_terminate imported in function "int `public: __cdecl std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >(void)'::`1'::dtor$2" (?dtor$2@?0???0?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QEAA@XZ@4HA)
main-e3f4bd.o : warning LNK4217: locally defined symbol _CxxThrowException imported in function "public: void __cdecl RadList::loadPlaylist(class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const &)" (?loadPlaylist@RadList@@QEAAXAEBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@Z)

не уверен, что код здесь полезен, но вот верхняя часть моих файлов, если она связана: RadList.h:

#pragma once
#include <fstream>
#include <iostream>
#include <list>
#include <stdexcept>
#include "Song.h"
#ifndef RADLIST_H
#define RADLIST_H
class RadList {

Song.h:

#pragma once
#include <string>
#ifndef SONG_H
#define SONG_H
class Song {

main.cpp:

#include "RadList.h"
using std::string;
using std::cout;
using std::endl;
...