From: David B. <stu...@gm...> - 2019-10-22 16:27:37
|
That is weird. I just opened it to try again and they are *.lib, but I must have changed it. No state resulted in it not crashing. I am in the process of trying to get an example to work with a new build and install and will be mindful of this point. Thank you for bringing it up. David On 10/22/2019 9:47 AM, Phil Rosenberg wrote: > 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...@gm... > <mailto:p.d...@gm...>> wrote: > > Hi David > In what way did things fail when turning build test on? > Phil > > ------------------------------------------------------------------------ > *From:* David Bergman <stu...@gm... > <mailto:stu...@gm...>> > *Sent:* Monday, 21 October 2019, 7:11 p.m. > *To:* Phil Rosenberg; plp...@li... > <mailto:plp...@li...> > *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 <stu...@gm...> >> <mailto:stu...@gm...> >> *Sent:* Friday, October 18, 2019 4:15:07 PM >> *To:* Phil Rosenberg <p.d...@gm...> >> <mailto:p.d...@gm...>; >> plp...@li... >> <mailto:plp...@li...> >> <plp...@li...> >> <mailto:plp...@li...> >> *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 <stu...@gm...> >>> <mailto:stu...@gm...> >>> *Sent:* Monday, September 9, 2019 6:31:00 PM >>> *To:* Phil Rosenberg <p.d...@gm...> >>> <mailto:p.d...@gm...>; >>> plp...@li... >>> <mailto:plp...@li...> >>> <plp...@li...> >>> <mailto:plp...@li...> >>> *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 <stu...@gm...> >>>> <mailto:stu...@gm...> >>>> *Sent:* Friday, September 6, 2019 9:20:57 PM >>>> *To:* Phil Rosenberg <p.d...@gm...> >>>> <mailto:p.d...@gm...>; >>>> plp...@li... >>>> <mailto:plp...@li...> >>>> <plp...@li...> >>>> <mailto:plp...@li...> >>>> *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 <stu...@gm...> >>>>> <mailto:stu...@gm...> >>>>> *Sent:* Friday, September 6, 2019 6:17:59 PM >>>>> *To:* plp...@li... >>>>> <mailto:plp...@li...> >>>>> <plp...@li...> >>>>> <mailto:plp...@li...> >>>>> *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 >>>>> Plp...@li... >>>>> <mailto:Plp...@li...> >>>>> https://lists.sourceforge.net/lists/listinfo/plplot-general >>>> -- >>>> David Bergman >>>> David R Bergman Music LLC >>>> "Have Guitar Will Travel" >>>> Morristown NJ >>>> 551-655-4720 >>>> stu...@gm... <mailto:stu...@gm...> >>>> www.davidrobertbergmanmusic.com <http://www.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-4720 >>> stu...@gm... <mailto:stu...@gm...> >>> www.davidrobertbergmanmusic.com <http://www.davidrobertbergmanmusic.com> >> -- >> David Bergman >> David R Bergman Music LLC >> "Have Guitar Will Travel" >> Morristown NJ >> 551-655-4720 >> stu...@gm... <mailto:stu...@gm...> >> www.davidrobertbergmanmusic.com <http://www.davidrobertbergmanmusic.com> > > -- > David Bergman > David R Bergman Music LLC > "Have Guitar Will Travel" > Morristown NJ > 551-655-4720 > stu...@gm... <mailto:stu...@gm...> > www.davidrobertbergmanmusic.com <http://www.davidrobertbergmanmusic.com> > > -- David Bergman David R Bergman Music LLC "Have Guitar Will Travel" Morristown NJ 551-655-4720 stu...@gm... www.davidrobertbergmanmusic.com -- This email has been checked for viruses by Avast antivirus software. https://www.avast.com/antivirus |