I'm trying out DLLs for the first time and have a previously written text function program I'm converting to use as a DLL so other programs can use the functions.
Unfortunately, the build fails with the following errors:
1>StringFunctions.cpp
1>e:\tech\programming\c++\solutionstrfunc\strfunc\stringfunctions.h(26): error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
1>e:\tech\programming\c++\solutionstrfunc\strfunc\stringfunctions.h(26): error C2143: syntax error: missing ',' before '&'
1>e:\tech\programming\c++\solutionstrfunc\strfunc\stringfunctions.h(30): error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
1>e:\tech\programming\c++\solutionstrfunc\strfunc\stringfunctions.h(30): error C2143: syntax error: missing ',' before '&'
1>e:\tech\programming\c++\solutionstrfunc\strfunc\stringfunctions.h(33): error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
1>e:\tech\programming\c++\solutionstrfunc\strfunc\stringfunctions.h(33): error C2143: syntax error: missing ',' before '&'
1>e:\tech\programming\c++\solutionstrfunc\strfunc\stringfunctions.h(37): error C2061: syntax error: identifier 'string'
The start of the code in the header file is as follows:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33
|
#pragma once
//#ifndef STRFUNC_DYNAMIC_LIBRARY_H
//#define STRFUNC_DYNAMIC_LIBRARY_H
#ifdef STRFUNCDYNAMICLIBRARY_EXPORTS
#define API_STRFUNC_DYNAMIC_LIBRARY __declspec(dllexport)
#else
#define API_STRFUNC_DYNAMIC_LIBRARY __declspec(dllimport)
#endif
#include <string>
class API_STRFUNC_DYNAMIC_LIBRARY StringFunctions
{
public:
// Constructor and Destructor
StringFunctions( );
~StringFunctions( );
// String Functions ...
// Return number of whitespace & punctuation delimited words in a string
long Words( const string& text);
// Return in a reference string the wordNum'th' word in text.
// Function return is true if successful and false otherwise
bool Word( const string& text, const int wordNum, string& returnString );
// Return the word position of srchWord in text. precision defines if case is significant (true for yes)
long WordPos( const string& text, const string& srchWord, bool precision = true );
|
Does anyone have any ideas why? I can't find anything useful bearing in mind the code in the .cpp file works fine in a standard console application and the function declarations were taken direct from that.