我需要使用以下编译选项,并且在没有警告的情况下进行编译:
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;