Commit 5834e277 authored by Mike Kremer's avatar Mike Kremer

- add dll export macros

git-svn-id: http://www.openmesh.org/svnrepo/OpenMesh/trunk@699 fdac6126-5c0c-442c-9429-916003d36597
parent dcf5272a
......@@ -71,7 +71,7 @@ namespace VDPM {
*/
class Plane3d
class OPENMESHDLLEXPORT Plane3d
{
public:
......
......@@ -102,7 +102,7 @@ class OPENMESHDLLEXPORT _IOManager_
private:
_IOManager_() {}
friend _IOManager_& IOManager();
friend OPENMESHDLLEXPORT _IOManager_& IOManager();
public:
......@@ -247,7 +247,7 @@ private:
extern _IOManager_* __IOManager_instance;
_IOManager_& IOManager();
OPENMESHDLLEXPORT _IOManager_& IOManager();
......
......@@ -71,7 +71,7 @@ namespace IO {
#ifndef DOXY_IGNORE_THIS
struct OFFFormat
struct OPENMESHDLLEXPORT OFFFormat
{
typedef int integer_type;
typedef float float_type;
......
......@@ -79,7 +79,7 @@ namespace IO {
the target data structure.
*/
class BaseExporter
class OPENMESHDLLEXPORT BaseExporter
{
public:
......
......@@ -78,7 +78,7 @@ namespace IO {
* structure. This is basically a wrapper providing virtual versions
* for the required mesh functions.
*/
class BaseImporter
class OPENMESHDLLEXPORT BaseImporter
{
public:
......
......@@ -176,7 +176,7 @@ private:
extern _OBJReader_ __OBJReaderInstance;
_OBJReader_& OBJReader();
OPENMESHDLLEXPORT _OBJReader_& OBJReader();
//=============================================================================
......
......@@ -157,7 +157,7 @@ private:
/// Declare the single entity of the OFF reader
extern _OFFReader_ __OFFReaderInstance;
_OFFReader_& OFFReader();
OPENMESHDLLEXPORT _OFFReader_& OFFReader();
//=============================================================================
......
......@@ -159,7 +159,7 @@ private:
/// Declare the single entity of the OM reader.
extern _OMReader_ __OMReaderInstance;
_OMReader_& OMReader();
OPENMESHDLLEXPORT _OMReader_& OMReader();
//=============================================================================
......
......@@ -183,7 +183,7 @@ private:
/// Declare the single entity of the PLY reader
extern _PLYReader_ __PLYReaderInstance;
_PLYReader_& PLYReader();
OPENMESHDLLEXPORT _PLYReader_& PLYReader();
//=============================================================================
......
......@@ -135,7 +135,7 @@ private:
/// Declare the single entity of the STL reader
extern _STLReader_ __STLReaderInstance;
_STLReader_& STLReader();
OPENMESHDLLEXPORT _STLReader_& STLReader();
//=============================================================================
......
......@@ -118,7 +118,7 @@ private:
/// Declare the single entity of the OBJ writer
extern _OBJWriter_ __OBJWriterinstance;
_OBJWriter_& OBJWriter();
OPENMESHDLLEXPORT _OBJWriter_& OBJWriter();
//=============================================================================
......
......@@ -122,7 +122,7 @@ protected:
/// Declare the single entity of the OFF writer.
extern _OFFWriter_ __OFFWriterInstance;
_OFFWriter_& OFFWriter();
OPENMESHDLLEXPORT _OFFWriter_& OFFWriter();
//=============================================================================
......
......@@ -129,7 +129,7 @@ protected:
/// Declare the single entity of the OM writer.
extern _OMWriter_ __OMWriterInstance;
_OMWriter_& OMWriter();
OPENMESHDLLEXPORT _OMWriter_& OMWriter();
//=============================================================================
......
......@@ -126,7 +126,7 @@ protected:
/// Declare the single entity of the PLY writer.
extern _PLYWriter_ __PLYWriterInstance;
_PLYWriter_& PLYWriter();
OPENMESHDLLEXPORT _PLYWriter_& PLYWriter();
//=============================================================================
......
......@@ -110,7 +110,7 @@ private:
// Declare the single entity of STL writer.
extern _STLWriter_ __STLWriterInstance;
_STLWriter_& STLWriter();
OPENMESHDLLEXPORT _STLWriter_& STLWriter();
//=============================================================================
......
......@@ -82,7 +82,7 @@ namespace OpenMesh {
\see OpenMesh::Concepts::KernelT, \ref mesh_type
*/
class ArrayKernel : public BaseKernel, public ArrayItems
class OPENMESHDLLEXPORT ArrayKernel : public BaseKernel, public ArrayItems
{
public:
......
......@@ -66,9 +66,9 @@
\see OpenMesh::mostream
*/
//@{
OpenMesh::mostream& omlog();
OpenMesh::mostream& omout();
OpenMesh::mostream& omerr();
OPENMESHDLLEXPORT OpenMesh::mostream& omlog();
OPENMESHDLLEXPORT OpenMesh::mostream& omout();
OPENMESHDLLEXPORT OpenMesh::mostream& omerr();
//@}
//=============================================================================
......
......@@ -40,11 +40,11 @@ static char sccsid[] = "@(#)getopt.c 8.3 (Berkeley) 4/27/95";
#include <string.h>
#include "getopt.h"
int opterr = 1, /* if error message should be printed */
OPENMESHDLLEXPORT int opterr = 1, /* if error message should be printed */
optind = 1, /* index into parent argv vector */
optopt, /* character checked for validity */
optreset; /* reset getopt */
char *optarg; /* argument associated with option */
OPENMESHDLLEXPORT char *optarg; /* argument associated with option */
#define BADCH (int)'?'
#define BADARG (int)':'
......@@ -54,7 +54,7 @@ char *optarg; /* argument associated with option */
* getopt --
* Parse argc/argv argument vector.
*/
int
OPENMESHDLLEXPORT int
getopt(int nargc, char * const *nargv, const char *ostr)
{
# define __progname nargv[0]
......
......@@ -2,19 +2,20 @@
#define _GETOPT_H_
#include <OpenMesh/Core/System/compiler.hh>
#include <OpenMesh/Core/System/OpenMeshDLLMacros.hh>
#if defined(WIN32)
#if defined(__cplusplus)
extern "C" {
extern int opterr;
extern int optind;
extern int optopt;
extern int optreset;
extern char *optarg;
extern OPENMESHDLLEXPORT int opterr;
extern OPENMESHDLLEXPORT int optind;
extern OPENMESHDLLEXPORT int optopt;
extern OPENMESHDLLEXPORT int optreset;
extern OPENMESHDLLEXPORT char *optarg;
extern int getopt(int nargc, char * const *nargv, const char *ostr);
OPENMESHDLLEXPORT extern int getopt(int nargc, char * const *nargv, const char *ostr);
}
......
......@@ -73,7 +73,7 @@ namespace VDPM {
Mesh traits for View Dependent Progressive Meshes
*/
struct MeshTraits : public DefaultTraits
struct OPENMESHDLLEXPORT MeshTraits : public DefaultTraits
{
VertexTraits
{
......
......@@ -70,7 +70,7 @@ namespace VDPM {
/** Active nodes in vertex hierarchy.
\todo VFront documentation
*/
class VFront
class OPENMESHDLLEXPORT VFront
{
private:
......
......@@ -68,7 +68,7 @@ namespace VDPM {
/** Keeps the vertex hierarchy build during analyzing a progressive mesh.
*/
class VHierarchy
class OPENMESHDLLEXPORT VHierarchy
{
public:
......
......@@ -69,7 +69,7 @@ namespace VDPM {
/** \todo ViewerParameters documentation
*/
class ViewingParameters
class OPENMESHDLLEXPORT ViewingParameters
{
private:
double modelview_matrix_[16];
......
......@@ -24,7 +24,7 @@ if ( OPENMESH_BUILD_UNIT_TESTS )
# Create new target named unittests_hexmeshing
add_executable(unittests unittests.cc)
if ( NOT WIN32)
if ( NOT WIN32)
# Link against all necessary libraries
target_link_libraries(unittests OpenMeshCore OpenMeshTools ${GTEST_LIBRARIES} ${GTEST_MAIN_LIBRARIES} pthread)
......@@ -33,8 +33,12 @@ if ( OPENMESH_BUILD_UNIT_TESTS )
else()
# Link against all necessary libraries
if ( OPENMESH_BUILD_SHARED )
#!!!! Experimental Feature!!!
add_definitions( -DOPENMESHDLL )
endif()
target_link_libraries(unittests OpenMeshCore OpenMeshTools ${GTEST_LIBRARIES} ${GTEST_MAIN_LIBRARIES})
endif()
endif()
......@@ -53,7 +57,7 @@ if ( OPENMESH_BUILD_UNIT_TESTS )
copy_if_different
${CMAKE_CURRENT_BINARY_DIR}/${CMAKE_CFG_INTDIR}/unittests.exe
${CMAKE_BINARY_DIR}/Unittests/unittests.exe)
endif()
endif()
acg_copy_after_build(unittests ${CMAKE_CURRENT_SOURCE_DIR}/TestFiles ${CMAKE_BINARY_DIR}/Unittests/)
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment