C++ :: Typedefs Automatically Imported In Header Files?
Jul 7, 2014
I recently noticed that I don't need to include the required header files inside header files that I have written myself. As as example, GLuint is defined using typedef unsigned int GLuint; inside glew.h. If I create a sample.hpp header file and mention GLuint without including glew.h, the compiler automatically works out that there is a typedef in glew.h. However, if I mention GLuint in a source file the compiler starts to complain. I have seen this happen in VS 2010 and 2013.
Edit: I should have mentioned that I am not including any other header files so I'm not indirectly including glew.h
In case you need to look at the code:
#ifndef CP_SHADER_LOADER_H
#define CP_SHADER_LOADER_H
namespace cp {
[Code].....
View 6 Replies
ADVERTISEMENT
Nov 24, 2013
In general, my problem is that I've been trying to reorganize the project I and my group are working on into separate project files. Everything was working perfectly fine before, but now I'm facing the wrath of undefined reference errors when I try to call my DLL functions.
I have them declared and included in the central header file here :
Code:
/* DLL functions */
typedef void ( * t_wait )( int milliseconds, const int frames_per_seconds );
typedef clock_t ( * ft_timer )( int command, t_timer * timer_object ); /* clock_t is usually defined as long */
typedef void ( * t_SDL_errorexit )( const char * message );
typedef SDL_Surface * ( * t_load_image )( char * image_path, unsigned is_transparent );
[Code]...
Then I have them imported here :
Code:
/* ******************************************************** */
/* ********* win_error( char *, bool ) ********* */
/* ******************************************************** */
/* - Displays a GUI for a windows specific error message, */
/* pass true to it to have it exit the program, pass false */
/* to have it continue */
/* ******************************************************** */
extern void win_error( char * message, bool is_exit )
{
/* Note : win_error uses the Win32 Api */
/* ********************************** */
char buffer[BUFSIZ] = { 0 }; /*
[code]...
This doesn't work, as my compiler sees it that I am trying to call invalid functions, whereas I have made sure to import the functions before calling. Obviously my compiler can't tell that, and is trying to protect me from calling them.
The source files are compiled as C++, but I'm using C-style code instead of true C++ code.
Obviously I'm using Windows style DLL linking, but if the only ways to share imported functions are non-standard, only post ways that will work on as low as Windows XP.
I have tried to statically link them before, but that led to a problem that I posted a while back. Which led me to dynamically linking, which was problem-free until I separated my code into separate files.
View 13 Replies
View Related
Sep 16, 2013
When including a header file in stdafx.h, should that file still be included in the source file where it is actually used?
If it is included in both places, is the one in the source file ignored?
View 5 Replies
View Related
Jun 10, 2014
#include<iostream>
#include<conio.h>
#include<fstream>
#include<windows.h>
using namespace std;
int main(){
string ptr,a;
string b="E:project";
[Code] ....
View 4 Replies
View Related
Dec 27, 2014
I made my header file. If cpp file with definitions is in project compiler knows it has to be linked, but if it's not compiler doesn't know. If I include standard library or boost I don't have to manually link cpps. How to do so including my header automatically links cpp? Maybe problem is with something else?I use VS 2013.
View 4 Replies
View Related
Nov 2, 2013
I have a piece of code in C with header files included. I run it on Mac OS X Maverick with XCode 4.6.2 installed. GCC is also installed. Note that Command Line Tools in XCode are already installed.
When I compile it, the error I receive says something like this:
add.c:1:19: error: stdio.h: No such file or directory add.c:2:20: error: stdlib.h: No such file or directory add.c:3:20: error: unistd.h: No such file or directory
However when I run it on Ubuntu, it compiles without a problem.What to do?
View 2 Replies
View Related
Dec 9, 2013
So I've been making a header file and put variables in their own namespace to avoid conflicts. My question is, do functions in the header file normally go in a namespace too, or should they just be named in a way which makes them unlikely to be accidentally copied?
View 15 Replies
View Related
Apr 2, 2013
My teacher talks about header files just having definitions and not declerations. I am writing a program that has a .h file and a related .cpp file along with a main.cpp it would be nice to have the .cpp file associated with the .h file compiled into an object file that would than just be referenced when the .h file is included. Am I making any sense?
View 2 Replies
View Related
Sep 17, 2013
I want to use two header files in my program. Here is exactly what I want to do.
-In the first header I have a binary tree and a structure.
-In the second file I have another functions that need to use the structure in the first header.
-I also want to use a function from the second header in the first.
-And finally I want to do actions with both headers in a "main.cpp" file that contains only int main() function.
How to include the headers in each other and in the main.cpp to be able to do the actions above?
I try to include the first header in the second one and the second one in the first header. Then I include both headers in the main.cpp file. But the compiler shows me many errors.
View 5 Replies
View Related
May 2, 2013
I have two header files, A, B.
A.h
namespace test {
struct info
{
int a;
}
}
B.h
#include "A.h"
int main {
test::info.a = 10;
}
However, it has an error. I don't quite understand how to use namespace.
View 2 Replies
View Related
Aug 27, 2013
I'm working with CGAL - Computational Geometry Algorithms Library, which is a library of geometry functions declared as several thousand header-only files. When I run a basic program (source code [URL] ) I get this output: [URL]
I have tried switching angle brackets to quotes. I have also started reading up on CMake.
Do I need to walk the dependency tree and add all of those files to my CMakeLists.txt? Or is there a way to tell the compiler to look in subdirectories?
View 2 Replies
View Related
Nov 6, 2013
I have some header files with generic functions. And in one of them, I define TRUE and FALSE. Recently I started using another header file and it defined TRUE and FALSE as well. That caused GCC to throw an error, and not compile. In my case I can put #IFNDEF around the values so that if it is already defined they don't get defined again, but is there a better way to handle duplicate names? I assume the case would be the same for duplicated functions, how does that get handled?
View 6 Replies
View Related
Mar 6, 2015
I have a problem with making header files in c, i get the code written only in main.c and then i have to create a files with extension .h and extension .c but how to do it.
View 4 Replies
View Related
Aug 2, 2014
So say I create a header file which contains a list of structs, and I want to use these structs through out my source and some of my classes... how would I accomplish this?
When I try to do it via #include, I get re-definition errors, due to the nature of #pragma once. If I switch to #ifndef then I lack defenitions in files other than the source.
Is there a way to define things such as structs across multiple files, which doesn't lead to re-definition errors, and doesn't involve manually re-created all the structs for each file?
View 2 Replies
View Related
Dec 3, 2013
I'm having with header files, specifically to do with the string data type. The objects work perfectly when I put them inside the .cpp but when I set it to include the exact same code in a .h, I get a string of error messages.
class Topic
{
private:
string NInfo, SInfo, EInfo, WInfo, Name ;
bool Quest ;
[code]....
View 1 Replies
View Related
May 27, 2013
I want to include turboc.h file for some project
where do i have to add this file for mac xcode?
View 1 Replies
View Related
Jun 8, 2013
I'm working on trying to figure out constructors and header files. Can ya'll help me out with this? I'm sure my code looks like a mess as I tried to piece together different solutions I've found. There's also an attempted copy constructor and operator function. Basically my problem is my source file says there is no default constructor for my class type. Here's my header code:
#include <iostream>
#ifndef _car
#define _car
[Code].....
View 8 Replies
View Related
Oct 30, 2014
I currently have a running program "game.cpp" that runs a game of tic tack toe. I want to split the working functions into header files so that game.cpp isn't so cluttered. I have created two header files "displayBoard.h" and "gamePlay.h" but they wont compile because the functions are looking for variables that haven't been declared. First, here's the working code.
#include "displayBoard.h"
#include <iostream>
#include <limits> //This is required to catch invalid user input
class ticTacToe //A class to contain all our functions {
[Code] .....
View 11 Replies
View Related
Jul 30, 2014
I am having the issue of trying to call functions of a class through the header file.
Test.h
#ifndef TEST_H
#define TEST_H
class Test {
public:
void Hello();
[code]....
This code returns the error "undefined reference to 'Test::Hello()'"
All I am trying to do is call the Hello(); function in a seperate file.
View 4 Replies
View Related
Jan 28, 2015
this is my main cpp file:
#include<iostream>
#include<conio.h>
#include "C:UsersAmitDesktopNew foldersum.h"
using namespace std;
int main() {
int a;
int b;
[Code]...
this is my 2nd cpp file add two number
#include<iostream>
#include "C:UsersAmitDesktopNew foldersum.h"
int sum(int x,int y) {
return(x+y);
}
this is my header file used in both cpp file
#ifndef SUM_H
#def SUM_H
int sum(int x,int y);
#endif
error i am getting in main cpp in devc++
[Linker error] undefined reference to `sum(int, int)'
[Linker error] undefined reference to `sum(int, int)'
in 2nd cpp file [Linker error] undefined reference to `WinMain@16' [/code]
View 1 Replies
View Related
Oct 13, 2012
msdos is present on my computer but it cannot include the header files but when i check all files are present but they still cannot include????????
View 1 Replies
View Related
Mar 16, 2012
Here is what I did,
Code:
// A.h
const int salary = 1000000;
// B.h
extern const int salary = 1000000;
But I still got multi-definition errors. How should I fix it?
View 6 Replies
View Related
Oct 2, 2014
I'm a beginner with C and wonder how to include single header files (*.h) in to my project. I mean header files which are not included to the standard installation package.
I thought it would work if I just copy the newheader.h file in to library folder c:MinGWinclude, but it didn't work. Is there some kinf of GCC -command or procedure to add these single header files or how it should work?
All of those standard header files are working well and I don't have any problems with them.
Environment I'm using is MinGW+GCC+Win7.
View 7 Replies
View Related
Mar 26, 2013
Modify program 3 by saving the header file on your memory stick and remove it from the Header section of the VC++ in the Solutions window.
Code:
#include<stdio.h>
#define pi 3.141592654
#define A (num) * (pi) * (Radius) /* a macro defines a math equation */
float spherevolume (float);
main() {
[Code] ....
View 3 Replies
View Related
Oct 28, 2014
How would I change the private variables in the header files and the code in the cpp files for the primary indexes so they use a dynamic array or vector instead. For the primary index, the initial vector size will be 8.
header
#ifndef MY_PRIMARY_INDEX_H
#define MY_PRIMARY_INDEX_H
#include
#include
#include
#include
class PrimaryIndex
[Code] ....
View 3 Replies
View Related
Oct 23, 2013
I have these two files:
/project/protocol/guarddog/report.h
/project/protocol/sky/report.h
I have two report.h files located in two different directories. However the contents of them are different. How can I include the report.h file located in guarddog into the report.h file located in sky?
I assume just doing this would be ambiguous:
#include "report.h"
View 1 Replies
View Related