C++ :: Accessing Symbols In Application From Within Dynamic Library MinGW

Apr 17, 2013

I am porting an application from Linux to Windows. Since it is a GTK app most of the stuff works; I have to touch a little here and there. One problem though I cannot find the solution as it seems. The application uses a plugin system for easy expandable functionality. The interface to the plugin is very simple: an init function, a worker function, and a deinit function. The plugins shall have access to the main applicationsymbols (functions global variables). I cannot find a working (and feasible) way under Windows to make the linking work. I always get "undefined reference" errors for symbols which exist in the application. I am using MinGW 4.6.2. I made a stripped down demo application to be able to better (and faster) test the principle. I am using the dlfcn-win32 project from Ramiro Polla [URL]... for the dynamic loading stuff and it works like a charm.

Here is the project:
plugintest.tar.gz
plugintest.zip

It tried a number of commandline options to the linker for the application (--export-all-symbols, --export-dynamic, -rdynamic (apparently not supported in MinGW)) as well as for the shared objects (--allow-shlib-undefined, --enable-auto-import, --enable-runtime-pseudo-reloc).

As you can see in the provided makefile under Linux it is just "-shared" for the .so. Under Mac OS X (Darwin) it is "-bundle -bundle_loader <app name>".

Either it is a different configuration / environment or I must have overlooked something. How to do this and if it is even possible in Windows?

Here is a .zip archive of the dlfcn stuff with modified makefile, which works on the cmd.exe command prompt; MSYS is not required. Just adjust the MinGW installation path in config.mak and type 'make" and 'make install'. dlfcn-win32-r19.zip

View 9 Replies


ADVERTISEMENT

C++ :: Making Static Library With MinGW

Jul 5, 2012

There is a file compressor called FreeArc (that has GPL code) and a sub project called Unarc (meant for file extraction only) that is free for any use.

Their source codes can be downloaded from here: [URL] ....

Unarc has a makefile for making a dll. I am trying to make it static instead (.a file), using MinGW, but am failing.

If I use the .o files compiled by the makefile to make one .a file, the decompression methods don't seem to be recognized as they should, so I can't extract anything. These decompression methods are added through static functions called withing the .cpp files of each method, so I guess their code is not being executed.

View 14 Replies View Related

C/C++ :: Library Has No Exported Symbols?

Jan 10, 2013

I built a C++ static library using WatCom IDE. It compiles without error, but running WLIB on it produces the msg:

Warning! Library contains no external symbols My WatCom compiler host is windows, & target is DOS.

If I convert the Library to an .exe program, by adding a main(), it executes fine, So there seems to be something I'm missing in the IDE settings for building a .lib.

View 2 Replies View Related

Visual C++ :: Slow To Load Application With Windows Debug Symbols?

Dec 31, 2013

I dumped all symbols into C:WindowsSymbols folder, It takes more than 2 minutes to load an application which really surprises me. Why and when should I use those symbols?

View 1 Replies View Related

C# :: Accessing GUI Properties From Application Object

Aug 20, 2014

I'm trying to get my head around threading and gui applications for fun, and I've ran into a problem I'm not too sure how to google it correctly or I don't understand the answers given. Basically I'm trying to access GUI item properties (add to a listview). I've been on stackoverflow alot, and I've noticed that accessing these properties is quite difficult. At least, I'm not really understanding how it is supposed to be done.

The following line gives me a null value.

frm.lstChat.Items.Add(newList);

From what I understand I need to access my form object instead of creating a new object window... but I'm not sure how to reference the initial form application.

using System;
using System.Collections.Generic;
using System.Linq;
using System.Windows.Forms;
using System.Net.Sockets;
using System.IO;
using System.Threading;
namespace ModBot {

[Code] ....

View 3 Replies View Related

C/C++ :: How To Link External Library In Application

May 4, 2012

How can I use one external library in my C++ program?

View 3 Replies View Related

C++ :: Reinitialize Dynamic / Share Library?

Jan 23, 2013

I am getting some problem in a dynamic/share library I am using with my code. Restarting my application solves the problem.

tell me any safe way to reinitialize kind of mechanism for dynamic loaded libraries with minimum code changes in my application?

View 3 Replies View Related

C++ :: Application That Has One Static Library Dependency - Linking Error

Feb 16, 2012

I am trying to build an application that has one static library dependency, however I am getting this error when linking:

1>ClCompile:
1> All outputs are up-to-date.
1>LINK : fatal error LNK1104: cannot open file 'TestWrapperLib.obj'

Why I might be getting that? I have the .lib in the depends line, and the directory where it is at in the include line.

View 1 Replies View Related

C++ :: Multithread Application - Global Dynamic Array

Nov 18, 2013

Let's have global dynamic array p defined as

volatile int p[];

Let's use it in a multithread application, where every thread can change array's size by

new_p = realloc(p, new_size);
if (!new_p) exit 1;
p = new_p;

For simplify assume that we have no problems with it's size and indexing.

Expression like

int x = p[i];

is unsafe cause thread (1) takes the pointer and (2) add the index. Executing of this thread may be stoped after first step before second step. In this time other thread can realloc the array, which move it to some other place in memory. Executing second step after it will add index to wrong pointer. So we will have segmentation fault.

View 2 Replies View Related

C++ :: Undefined Reference To (method Name) When Accessing Method In Static Library

Jan 17, 2013

I've been trying for more than one month to access a method found in a library called libcocosnas_static.a. I'm using Cocos2d-X version 2.0.4. The library has been used many times by my company to make games using cocos2d-1.0.1-x-0.12.0 without any problem.

This is what I've done:
1- I added the include paths of the library to both eclipse and Android.mk
2- Included the .h file using #include "NASPlatformUtil.h"
3- Added the libcocosnas_static.a file to the proj.androidobjlocalarmeabi folder
4- Added "LOCAL_WHOLE_STATIC_LIBRARIES += cocosnas_static" to the Android.mk file
5- Called the function using: NASPlatformUtil:: openUrl("http://xxx.xxx.com/");

I can right click on the function, click Open Declaration and get it without any problem, but the compiler keeps on giving me that dreaded error...

View 3 Replies View Related

C++ :: How To Set Stack Size With GCC MinGW

Jun 3, 2014

I'm following a course with coursera (algorithm 1) and my program for the assignment crashes inexorably (many are experimenting the same thing there, the assignment asks for a recursive program for solving a big graph of 500000 nodes). I'm using a version of g++ from MinGW with the editor Geany and windows7. The current setup is:

g++ -std=c++11 -Wall -c "%f"
g++ -std=c++11 -Wall -o "%e" "%f"

How can I set the stack 'unlimited'?

View 5 Replies View Related

C++ :: MinGW And Export Link Libs?

Jan 5, 2012

I'm building an app using VC++. The app links to a DLL built using TDM-GCC (which uses MinGW I think). Obviously, the DLL comes with a link lib.

If the lib is linked to another MinGW app, the DLL functions get found by name. So if the DLL builder updates his DLL, the MinGW app carries on working.

However, if the same lib is linked to a VC++ app, the functions get found by ordinal value. But MinGW doesn't seem to have any means of guaranteeing that a later build of the DLL will use the same numbering scheme. So his new DLL will break the pre-existing VC++ app that used it.

In VC++ this problem could be solved by using a DEF file but that doesn't seem to work in MinGW. So my question is:- can a DLL built with MinGW be somehow instructed to export its functions only by name - or at least to export them so that any other compiler will import them by name and not by ordinal numbers?

View 8 Replies View Related

C++ :: Game Engine - Linking Error On MinGW

Aug 6, 2013

I want to write a game engine with MinGW and Code::blocks ide

[URL] ....

This is my project's source code

[URL] .....

This is the build log.

I can't code it here, because it's two large to add the characters!

View 10 Replies View Related

C++ :: Undefined Reference With Mingw (template Usage)

Apr 10, 2014

I am wondering why ToStr throws me this error. I am using mingw64 and codeblocks.

Code:

E:JackyDocumentsCode Blocks ProjectsPerfectSimXmain.cpp|35|undefined reference to `std::string ToStr<int>(int const&)'|

Code:
for (int i = 0; i < NO_CAMS; i++) {
std::string filename("E:/Jacky/Documents/Code Blocks Projects/PerfectSimX/Data/Cam");
std::string restFileName(".cam");
filename += ToStr(i);

[Code] ....

View 4 Replies View Related

C++ :: Installed Cygwin - Mingw Install Required In Order To Use DirectX?

Jan 20, 2014

Goal: I want to use cygwin g++ to write DirectX applications.

I know that one of the mingw packages contain directx libraries.

Now that I have installed cygwin, can I use directx also?

BTW, does netbeans open a mingw project using cygwin tool chain?

View 5 Replies View Related

C# :: Server Application Using Tcp Protocol And Then Establish Connection With A Client Application

Nov 29, 2014

What happens if I make a server application using tcp protocol and then establish connection with a client application but the server crash and then the client send data. Will the data be lost or the system will continue trying to send it?

View 2 Replies View Related

C# :: How To Start Application And Automatically Pass Input To That Application

May 9, 2012

I want to create an application that starts an application and passes input to that application. I know how to start a process using the classes in System.Diagnostics, but I don't know how to pass data to the process.

For example, and this is just an example, I would like to be able to automatically start an application that requires a username and password and automatically enter the username and password. Of course, that might open the door to security vulnerabilities, but that's not the point of the exercise.

How to implement the functionality I described? Is there a general way to go about doing this or does it depend entirely on the idiosyncrasies of the application in question?

View 2 Replies View Related

C++ :: Shared Library Vs Static Library?

Jan 17, 2014

I've been reading about libraries; How to make them, how to use them, the different types of libraries, etc..

When using a shared library, does the program require that library to be installed on the computer after the program has been compiled into an .exe?

Ie.. if somebody downloaded a "Helloworld.exe" that I had compiled on my computer using a shared library (that wasn't part of a standard operating system), would they also need that shared library on their computer for the program to run without errors?

and for Static Libraries, when I compile a program using a static library, does it include in the final binary only the functions of the library that are actually used, or does the compiler add in the entire library?

View 8 Replies View Related

C++ :: Fill Value Of Dynamic Array Of Dynamic Arrays?

Jan 4, 2013

I'm writing a program in which I have to use a matrix to represent a file in code. because it's a file, the size of the matrix is undefined, and therefore the matrix has to be dynamic. I found out that my compiler doesn't like dynamic multidimensional arrays, so I was thinking of this matrix as a dynamic (monodimensional) array of other dynamic (monodimensional) arrays. My program (and thus this example) uses unsigned chars.

unsigned char variable=something;
unsigned char**matrix=new unsigned char*[lenghtOfMainArray];
for(int rowNumber=0;rowNumber<lenghtOfArray;rowNumber++)
{

[Code].....

View 2 Replies View Related

C++ :: Dynamic Memory Is Affecting Non-dynamic Values

Oct 7, 2014

i'm implementing a playerclass for a game.. in the game there are multiple player types, weapons ect.. i just wanted to turn my players weapons into a dynamically allocated c_str. once i added my: Destructor, Copy Constructor and Overloaded Assignment Operator. My initial values became corrupted and i cannot fix them.

Player2.cpp
#include <string.h>
#include <iostream>
#include <cstdlib>
#include <iostream>
#include "player2.h"
#include "dice.h"
#include "gamespace.h"

[code]....

View 1 Replies View Related

C++ :: Alt Key Symbols With Code Blocks

Apr 30, 2013

I'm using Code Blocks but for some reason it doesn't process alt symbols. You know... alt symbols are like this: ☺♫↓☻♪♥↕. Code Blocks says that they're "invalid characters". Is there any attatchments or mods so Code Blocks can process them or will changing the settings?

View 1 Replies View Related

C++ :: How To Output Special Symbols

Jan 30, 2012

For example, how to output "Delta" (like a triangle) in C++?

View 13 Replies View Related

C++ :: Program That Prints A Triangle Of Symbols

Jan 1, 2015

I'm making a program that prints a triangle of @ signs given rows (but not columns).

For example, the output with rows = 4 would be:
@@@@
@@@
@@
@

and rows = 3 would be:
@@@
@@
@

However, trying to make this has given me a program that does something similar (but not the same):

for example, with my current program rows = 4 outputs:
@@@@
@@@
@@
@

and rows = 3 gives
@@@
@@
@

It seems that it's just missing a space (and therefore a setw and setfill), but I found 2 problems:

1. The space needs to not apply to the first line.
2. I can't get it to make a space before each row without making a space between each column.

My current code is:

#include <iostream>
#include <iomanip>
using namespace std;
int main ( ) {
int rows;

[Code] ....

I have tried putting in << setws and << setfills of various values but it seems to always apply to between each column as well as at the start of each row- what do I do?

View 4 Replies View Related

C++ :: Function To Check For Symbols In Input

Jun 10, 2013

I need a function to check if the inputted string contains a colon. It has to be in an if loop as the condition.

View 1 Replies View Related

C++ :: How To Ask User To Input Operating Symbols

Aug 6, 2013

how to ask the user to input operating symbols like "+","-","*" and then use it to operate on the numbers. The user should be asked to input the symbols not like this

1.+
2.-
3.*

View 2 Replies View Related

C/C++ :: Program Printing Out Random Symbols?

Jan 19, 2014

I'm experimenting, making a little client/server but when it cout's the buffer, it prints out random symbols.

Server

#include <iostream>
#include <windows.h>
#include <WinSock2.h>
int main() {
char buffer[1024];
WSAData wsa;

[Code] ......

View 9 Replies View Related







Copyrights 2005-15 www.BigResource.com, All rights reserved