I just opened up the example project you sent me. In project properties -> Linker -> Input -> Additional dependencies, the files listed should be .lib, not .dll. This is the case even when you build dlls.
When Plplot is built, it creates a series of libs, who's job is simply to load the equivalent dll and pass function calls to that dll. These are commonly referred to as import libraries. They avoid having to call LoadLibrary() and GetProcAddress() in your code to grab the functions from the dll at runtime. I guess, basically, the import libraries contain the calls to LoadLibrary() and GetProcAddress(). There is a StackOverflow question about them at https://stackoverflow.com/questions/3573475/how-does-the-import-library-work-details Try swapping all your filenames from .dll to .lib and see where we gat to there. This may explain the corruption error - VS was loading the files expecting them to be libs, but they weren't. Phil On Tue, 22 Oct 2019 at 14:15, Phil Rosenberg <p.d.rosenb...@gmail.com> wrote: > Hi David > In what way did things fail when turning build test on? > Phil > > ------------------------------ > *From:* David Bergman <stuntguitar1...@gmail.com> > *Sent:* Monday, 21 October 2019, 7:11 p.m. > *To:* Phil Rosenberg; plplot-general@lists.sourceforge.net > *Subject:* Re: [Plplot-general] Problem with LNK2019 error unresolved > external > > I am sorry you had the flu and hope you are on the mend. Well, I did got > some other folks chiming in and the consensus is that my system may be > hosed. I've been trying to get the same config up and running on an > "identical" Windows 8.1 machine (Inspiron 15R) and running into problems > with the plplot sln hanging and failing to build the dyndriver test > project. I have answered your questions below with my initials as a tag. > > David > > > On 10/21/2019 2:02 PM, Phil Rosenberg wrote: > > Hi David > Sorry I've not been back to you again on this. I've been away with work > and had a week laid up with flu. > > For your dll build. Can you open the plplot.sln. Where it says platform at > the top, check it says x64. If you hit the drop down, the only option > should be x64. > > [BD] Yes, everything was x64. > > How have you created the sln for the example? Did you do it manually or > using the -DBUILD_TEST=ON option with cmake? > > [DB] I did it manually. > > If you did it manually then check the x64 is set in your example at the > top when you open it in visual studio. > > [DB] Yes, x64 was the choice. > > If this doesn't work then try emptying your build directory and rerunning > cmake including the test option from above. > > [DB] I did try that and having -DBUILD_TEST=ON causes the build to fail. > > Now when you open the plplot.sln file you will find a set of example > projects in the solution explorer. Try right clicking and building one of > these. > > Some other things you can try: > Install dependency walker and run this on your example executable - it > should show you the dlls it is using which might give you a clue. > > [DB] I'll give this a try. I've never used it. > > Try using the "where" command from the command line. Something like > where plplot.dll > Should list all instances of plplot.dll on your path. You may wish to run > this from the working directory of your example - I'm not sure, but maybe > it makes a difference. > > Hope that helps you make progress. > > Phil > > Get Outlook for Android <https://aka.ms/ghei36> > > ------------------------------ > *From:* David Bergman <stuntguitar1...@gmail.com> > <stuntguitar1...@gmail.com> > *Sent:* Friday, October 18, 2019 4:15:07 PM > *To:* Phil Rosenberg <p.d.rosenb...@gmail.com> <p.d.rosenb...@gmail.com>; > plplot-general@lists.sourceforge.net > <plplot-general@lists.sourceforge.net> > <plplot-general@lists.sourceforge.net> > *Subject:* Re: [Plplot-general] Problem with LNK2019 error unresolved > external > > > Hello, > > I wanted to reach out, yet again, to try and resolve some of the issues > I'm having with getting plplot to install and work. I really don't know > why this has been so difficult. Based on some advice I received reaching > out to the widgets and plplot user groups and my own review of my system I > decided to completely delete my current plplot and wxwidgets builds and > start over. > > This is for my Windows 8.1 laptop using VS 2017, x64. I also removed > every occurrence of older versions of widgets and plplot even though I made > sure they were not in the path. So I started with a completely clean > system in this regard. > > I installed wxwidgets using the sln provided and that went without any > issue. > > The I built and installed plplot using cmake followed by the sln without > any trouble at all. > > I made sure both were built with the x64 (64 bit) option chosen so as to > not mix 32 and 64 bit. > > Trying to build and run one of the plplot examples (x64 option) leads to > the following: > > (1) dynamic linking causes a corrupt dll error (likely cause 32 and 64 > mix, but I can't see how that is). > > (2) static linking works! but I still get a system crash upon closing the > terminal. > > I cannot offer more than what I've provided in previous email threads. It > seems that there are a few things I'm doing wrong but I just cannot see > based on following the directions, or there is a bad combo of packages, SDK > toolkit, and OS. > > Any suggestions would be appreciated. > > David > > > On 9/9/2019 2:20 PM, Phil Rosenberg wrote: > > Corrupt file error sounds like you are mixing 64 and 32 bit exes and dlls. > I think I've had that error with some libraries before and found that was > my mistake. > > Is your install bin directory on your path? Do you have any old dlls > somewhere that might be on your path? > > I usually use static libs. I used a dll version of wxwidgets about 6 > months ago, so I know things worked back then. But I'm back to using static > libs again. I will build a dll version of plplot this evening and send you > exactly the commands I used. > > Get Outlook for Android <https://aka.ms/ghei36> > > ------------------------------ > *From:* David Bergman <stuntguitar1...@gmail.com> > <stuntguitar1...@gmail.com> > *Sent:* Monday, September 9, 2019 6:31:00 PM > *To:* Phil Rosenberg <p.d.rosenb...@gmail.com> <p.d.rosenb...@gmail.com>; > plplot-general@lists.sourceforge.net > <plplot-general@lists.sourceforge.net> > <plplot-general@lists.sourceforge.net> > *Subject:* Re: [Plplot-general] Problem with LNK2019 error unresolved > external > > > Phil, > > I've gotten a little further. I tried to run one of the examples building > a VS project and sln. Making sure everything was aligned w/r to he choice > x64 I got a corrupted file error. > > Error LNK1107 invalid or corrupt file: cannot read at 0x310 > plplotExamples C:\build-plplot-new-man\dll\csirocsa.dll 1 > > I am not sure what to do. Looking through some of the old blog posts of > the issues I had last year it seems that is was also an issue then. > > When you do your build were you able to get everything using the sln or > did you have to install at the command prompt too. That rings a bell and I > think I wound up using nmake. > > Can you confirm your build/install procedure and perhaps shed some light > on why csirocsa.dll would be corrupted? > > Thank you for your help. > > David > > > > On 9/7/2019 3:34 AM, Phil Rosenberg wrote: > > Hi David > Sounds like either one of the libs has been forgotten, or you are building > a 32bit exe and trying to link to the 64 bit libs you just built. > > Might be worth noting that I think the naming convention of the libs > changed at some point. They used to have a d suffix to indicate using > double precision. This has been dropped I think. So you might need to > update the lib names in your project. > > Phil > > Get Outlook for Android <https://aka.ms/ghei36> > > ------------------------------ > *From:* David Bergman <stuntguitar1...@gmail.com> > <stuntguitar1...@gmail.com> > *Sent:* Friday, September 6, 2019 9:20:57 PM > *To:* Phil Rosenberg <p.d.rosenb...@gmail.com> <p.d.rosenb...@gmail.com>; > plplot-general@lists.sourceforge.net > <plplot-general@lists.sourceforge.net> > <plplot-general@lists.sourceforge.net> > *Subject:* Re: [Plplot-general] Problem with LNK2019 error unresolved > external > > > Phil, > > As per our last correspondence I had succeeded in getting the widgets > headers and drivers built when I changed from Win64 to no Win64. But I > still got an install error in the IDE (sent in a previous email). You had > suggested that perhaps I didn't build widgets using 64bit so I decided to > purge everything and start over. I built the widgets files using their sln > with x64 set. Then built plplot with cmake no problem and widgets was > declared ON as expected. Using the IDE and the sln to INSTALL led to > hanging and errors three times in a row. After the 3rd time I just looked > in the folders and figured if I can find everything I might be okay. My > recollection is that this happened last time too (back in 2017). > > The example I was trying to run was a simple one of my own that plotted > various 3-dim mesh surfaces. > > I did not try to build the official plplot examples yet. Perhaps I should > try that first. > > I don't know if what I've written is helpful in helping you help me get it > working. > > David > > > > On 9/6/2019 3:44 PM, Phil Rosenberg wrote: > > > Is this building the examples? Sounds like the libs are not being linked > to properly. > > Did you get past the wxwidgets problem? > > Get Outlook for Android <https://aka.ms/ghei36> > > ------------------------------ > *From:* David Bergman <stuntguitar1...@gmail.com> > <stuntguitar1...@gmail.com> > *Sent:* Friday, September 6, 2019 6:17:59 PM > *To:* plplot-general@lists.sourceforge.net > <plplot-general@lists.sourceforge.net> > <plplot-general@lists.sourceforge.net> > *Subject:* [Plplot-general] Problem with LNK2019 error unresolved external > > All, > > I have made some progress with building and installing the new plplot > with a new wxwidets using VS 2017. > > I still have not gone past the install process in the IDE w/o an error > but I seem to have all the headers and dll I need (though I'm not sure > if they are corrupted). > > At present I've decided to move forward with what I have and try a > simple example I wrote that worked with my previous config. > > I get unresolved externals, 14 to be exact. Basically every plplot > function I call seems to cause this. A few example are provided. > > plAlloc2dGrid > > and all the plstream functions like box3, col0, font, etc. > > Typically what I cause this it's due to a function declaration in a > class that is not defined elsewhere. > > It "seems like" my new build has the same files as the old one and the > projects are comparable (with only diffs being the location of the new > folders). > > Thanks in advance for your help. > > David > > > --- > This email has been checked for viruses by Avast antivirus software. > https://www.avast.com/antivirus > > > > _______________________________________________ > Plplot-general mailing list > Plplot-general@lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/plplot-general > > -- > David Bergman > David R Bergman Music LLC > "Have Guitar Will Travel" > Morristown NJ > 551-655-4720stuntguitar1...@gmail.comwww.davidrobertbergmanmusic.com > > > > <https://www.avast.com/sig-email?utm_medium=email&utm_source=link&utm_campaign=sig-email&utm_content=emailclient&utm_term=icon> > Virus-free. > www.avast.com > <https://www.avast.com/sig-email?utm_medium=email&utm_source=link&utm_campaign=sig-email&utm_content=emailclient&utm_term=link> > > -- > David Bergman > David R Bergman Music LLC > "Have Guitar Will Travel" > Morristown NJ > 551-655-4720stuntguitar1...@gmail.comwww.davidrobertbergmanmusic.com > > -- > David Bergman > David R Bergman Music LLC > "Have Guitar Will Travel" > Morristown NJ > 551-655-4720stuntguitar1...@gmail.comwww.davidrobertbergmanmusic.com > > -- > David Bergman > David R Bergman Music LLC > "Have Guitar Will Travel" > Morristown NJ > 551-655-4720stuntguitar1...@gmail.comwww.davidrobertbergmanmusic.com > > >
_______________________________________________ Plplot-general mailing list Plplot-general@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/plplot-general