Mam pewien problem. Podczas kompilacji wyskakuje mi coś takiego (w załączniku). Co to takiego i jak sobie z tym poradzić??
Dodaj na poczatku
#include <math.h>
nadal to samo
Scroll up, do pierwszego zgłaszanego błędu, zaznacz tekst Ctrl-C
, Ctrl-Tab
do przeglądarki a potem Ctrl-V
na forum.
Wracasz do VS skaczesz do kodu, o którym mówi błąd i zaznaczasz ten fragment i znowu: Ctrl-C
, Ctrl-Tab
do przeglądarki a potem Ctrl-V
na forum.
I dopiero potem "Zapisz".
Obrazki w takich wpadkach są dla ^@#$@#&*.
Nieposkromiony Pomidor napisał(a):
Mam pewien problem. Podczas kompilacji wyskakuje mi coś takiego (w załączniku). Co to takiego i jak sobie z tym poradzić??
Brać po kolei nazwy pokazywane w logu, i wrzucać w gógla/cpp reference aby odnaleźć, jakich plików nagłówkowych wymagają, po czym zastosować #include <potrzebny_plik>
Na 99% jesli masz dolaczone biblioteki poprzez include to nie linkujesz ich podczas kompilacji :)
Tak się zaczyna jak dam "kompiluj".
1>------ Kompilacja rozpoczęta: Projekt: UnitTest2, Konfiguracja: Debug Win32 ------
1>stdafx.cpp
1>p:\program files (x86)\microsoft visual studio\2017\professional\vc\tools\msvc\14.15.26726\include\cmath(22): warning C4244: "argument": konwersja z "double" do "int", możliwa utrata danych
1>p:\program files (x86)\microsoft visual studio\2017\professional\vc\tools\msvc\14.15.26726\include\cmath(27): error C2039: „acosf”: Nie jest składową „`global namespace'”
1>p:\program files (x86)\microsoft visual studio\2017\professional\vc\tools\msvc\14.15.26726\include\cmath(27): error C3861: "acosf": identyfikatora nie odnaleziono
a po tych liniach się to powtarza tylko zamiast acosf jest np. coś innego
Sprawdziłem parę tych nazw i wszystkie są z math.h
Na górze w kodzie napisałem #include <math.h>
Pierwsza rzecz: 1>stdafx.cpp
to plik do generowania "precompiled headers".
To jest rzecz, której raczej nie powinieneś dotykać.
Coś musiałeś popsuć nagłówkiem, który jest prekompilowany.
Chodzi o ten, który zawsze się pojawia na początku twoich źródeł cpp, zwykle nazywa się stdafx.h
albo set_nod.h
.
On nie powinien być duży, więc możesz pokazać całą jego zawartość.
jeśli to wygląda tak:
// stdafx.h : include file for standard system include files,
// or project specific include files that are used frequently, but
// are changed infrequently
//
#pragma once
#include "targetver.h"
To raczej masz coś popsute z instalacja VS lub konfiguracją swojego projektu.
Z tym plikiem stdafx.h nic nie ruszałem, z konfiguracją projektu możliwe, bo miałem zrobić test takiego super prostego kalkulatora i musiałem coś tam zmieniać w w właściwościach projektu, to możliwe że coś napsułem